GLES2放入QQuickView,在QT5.5版本崩溃



  • 1.类似glUnderQML例子
    2.类A派生自QQuickItem,内部通过调用GLES2类库,实现绘制图层1;将类A通过qmlRegisterType注册成为一个自定义QQuickItem;
    3.类B派生自QQuickView,读取某.qml文件,实现绘制图层2,同时在该qml文件中,声明了类A和开启了定时器调用类A的paint()函数;
    4.现象,干掉 类A中connect(win, SIGNAL(beforeRendering()), this, SLOT(paint()), Qt::DirectConnection);图层1绘制正常,但是图层B进行拖拽事件就崩溃;
    干掉qml文件中的定时器(函数中不断调用A类中的paint()),图层2正常,图层1不显示(符合beforeRendering条件会显示一瞬间)。



  • @libiyangGLES2放入QQuickView,在QT5.5版本崩溃 中说:

    一瞬间

    如果类A用qopenglwidget实现,不存在以上问题,但是。。。但是
    图层1 2隐藏再显示的时候,图层2会被图层1遮挡。
    自定义show()函数中,按照A Bshow顺序,图层2会遮挡图层1;
    但是隐藏再显示的时候,显示的函数依旧是自定义show()函数,图层1会遮挡图层2.。。。。。。什么鬼。。。。
    有熟悉的人吗?有偿求助


  • 网站研运

    @libiyang 有偿什么的是最棒的了。
    目测不能派生自QQuickView,原因很复杂。要顺着Qt Quick的思路整合才行。


Log in to reply
 

走马观花

最近的回复

  • 这个错误没多大影响,qt模块可以在QT setting里进行勾选

    read more
  • 如果对操作不是很熟悉或者是操作不便的话,也可以在Windows的命令行执行NDK的安装。参数是一样的:
    Windows命令行安装NDK

    read more
  • 忘记补充图片了。这里需要点击更新安装才行。😆
    点击更新安装

    read more
  • 问:
    如何在Qt Creator安装NDK呢?
    除了那个🔽 按钮外,还有别的办法吗?
    答:
    Qt Creaator 4.11中更加整合了Android SDK Manager。其实大家都可以不运行默认的Android SDK Manager,直接在Qt Creator中选项->设备->Android,就可以进行操作了。

    通过````高级选项……,启动一些Android SDK Manager,只需要带上参数ndk-bundle```。原来没有NDK的你,也可以通过Android SDK Manager安装了。很简单吧。
    Android SDK Manager安装NDK

    read more

关注我们

微博
QQ群