zoukankan      html  css  js  c++  java
  • Mac 打包Qt程序包含WebEngineView时的问题记录

    参考:https://www.jianshu.com/p/5b42d5d51ed5

    • 当项目包含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

  • 相关阅读:
    单例
    添加水印
    创建文件夹
    查看文件属性
    把pdf文档的每一页单独存为pdf文档
    倒序排列
    旋转pdf文件
    fnmatch用法
    glob遍历文件夹中的所有的内容
    LinkedList源码分析
  • 原文地址:https://www.cnblogs.com/kuangke/p/14702468.html
Copyright © 2011-2022 走看看