QT QML/QUICK 打包发布程序的简单示例

本文介绍了QML项目开发中CMAKE和QMAKE两种模式的区别,重点讲解了.pro文件管理和QML引用的技巧,以及如何使用windeployqt打包并处理DLL依赖问题。
摘要由CSDN通过智能技术生成

QML创建时可以选择两种模式,一种是基于CMAKE的模式,一种是基于QMAKE的模式,其中如果采用了.pro方式创建项目相比较而言,更为简洁一些,如下所示

新建项目 -- Application QT -- Qt Quick Application(compat),然后选择qmake;如果选择cmake则是另一种模式。如果采用的是cmake模式,相关的QML文件引用与设置稍微复杂一点,如下所示

--------------------------------------------------------------------

//main.qml当中修改如下
import QtQuick 2.0
/*import content

App {
}*/

import "qrc:/QML/"
/*这里通过资源添加qml路径所在的方式,实现对其他qml的引用*/
Window
{
    width: 900
    height: 800
    visible: true
    title: qsTr("hello")

    Image {
        id: logo
        source: "qrc:/img/show1.jpg"
        anchors.centerIn: parent
    }

    /* 注意 同一个路径下面的引用qml的文件时,应当确保类的首字母为大写字母,并且将文件名添加到.pro当中*/
    MyTxt {
        id: a1
        text: qsTr("你好,这个是第一行测试")
        anchors.top: logo.bottom
        anchors.left: logo.left
    }

    MyTxt {
        id: a2
        text: qsTr("你好,这个是第二行测试")
        color: "blue"
        anchors.top: a1.bottom
        anchors.left: logo.left
    }
}

//--------------添加一个资源文件other.qrc,然后在里面添加需要在main.qml当中引用的其它qml文件
//----------文件名必须首字母大写,比如MyTxt.qml,内容如下
import QtQuick

Text {
    id: txt1
    font.bold: true
    font.family: "微软雅黑"
    font.pixelSize: 20
    color: "red"
}

//---------------在cmakelists添加以下内容
# 以下是添加对应的图片资源other.qrc
qt_add_resources(RESOURCES other.qrc)
target_sources(${PROJECT_NAME} PRIVATE ${RESOURCES})

# 以下用来关闭中端窗口的显示
set_target_properties(${PROJECT_NAME} PROPERTIES
    MACOSX_BUNDLE TRUE
    WIN32_EXECUTABLE TRUE
)

---------------------------如果是QMAKE方式创建的

直接项目列表栏当中,添加新文件到QML文件夹当中,比如MyTxt.qml即可实现引用。

添加完成后,如果.pro文件没能自动添加信息,需要手动补充一行内容,如下所示,将新添加的文件MyTxt.qml加入到工程当中

resources.files = main.qml \
        MyTxt.qml

--------------------------------------------------------------------------------------------

QML发布相关的exe文件时,首先需要将生成的exe拷贝到特定目录下,通过windeployqt进行打包发布,需要分别录入相关的qml文件所在的路径,以及当前exe所在的路径

windeplyqt --qmldir E:\QTest\A1  E:\QTest\out\A1.exe

等待打包程序执行完成后,将QT安装目录下面的相关DLL补齐到exe所在目录下面,比如打包完成后自动生成的dll如下所示

这时候直接双击exe是无法启动运行的,还需要补齐QML相关的dll文件,例如QT安装目录是C:\QT,那么在安装路径下面找到mingw_64\bin文件夹,打开后,将下面所有带了qml和quick字符串的dll都拷贝一下,拷贝至你打包发布的程序目录下面,对于其中重复的文件你可以选择跳过或覆盖都不影响。

这些dll文件拷贝过来以后,再双击exe,即可运行程序!

记录如上,以便于后续自己查阅

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值