美文网首页
Mac 打包Qt程序包含WebEngineView时的问题记录

Mac 打包Qt程序包含WebEngineView时的问题记录

作者: 觉醒的苍红之刃 | 来源:发表于2018-09-27 16:47 被阅读51次
    • 当项目包含qml文件时需要多加-qmldir=,例如
    macdeployqt 你的App路径 -dmg -qmldir=/usr/local/Cellar/qt/5.11.2/qml 
    

    其中/usr/local/Cellar/qt/5.11.2/qml是我的Qt安装路径下的qml文件夹。


    • 当你的qml里边用到WebEngineView时,打包完成双击打开会是一片空白,调试时控制台会打印module "QtWebEngine" is not installed字样。
      需要做的为以下两步:
      1.将/usr/local/Cellar/qt/5.11.2/qml(我的Qt安装方式为brew install qt)文件夹下的QtWebEngine和QtWebChannel这两个文件夹复制到 你的App/Contents/Resources/qml目录下边,如下图
      image.png
      2.将/usr/local/Cellar/qt/5.11.2/lib目录下所有framework复制替换到 你的App/Contents/Frameworks目录下,如下图
      image.png

    注:其实不必全部复制,只复制你App所有跟Qt安装目录的framework相同名字的即可,已实测可行,但是会发现字体样式会凌乱,像3D那些framework明显没用到的可以不复制,全复制只是担心会出现一些问题而已。


    • release 模式下JavaScript交互失效
      在.pro文件添加 QTQUICK_COMPILER_SKIPPED_RESOURCES += 你的JS所在,
      例如:我的qwebchannel.js文件在resources.qrc下,那么代码如下:
    QTQUICK_COMPILER_SKIPPED_RESOURCES += resources.qrc
    
    image.png
    可参照官网: http://doc.qt.io/qt-5/qtwebengine-deploying.html

    相关文章

      网友评论

          本文标题:Mac 打包Qt程序包含WebEngineView时的问题记录

          本文链接:https://www.haomeiwen.com/subject/eqneoftx.html