【QML】 如何将Qt Design Studio 创建的UI项目转换为应用程序

在实际使用中,可能会存在多个人协同开发或者C++与QML混合开发的使用场景,这时候可能会使用到不同的软件,多数情况下是Qt Creator和Qt Design Studio两款软件协同一起使用。(毕竟很多时候做出一个漂亮的软件外观比实现软件的功能要繁杂一些)

注:从Qt Design Studio 2.3.0开始,Qt Design Studio项目向导模板生成的项目可以用CMake构建。意味着可以在Qt Creator中打开CMakeLists.txt项目文件,继续开发项目。

所以,如果熟悉CMake构建系统,就非常方便了。本文假设是使用qmake作为构建系统,下文将描述如何将Qt Design Studio工程转换为Qt Creator工程。

在Qt Design Studio创建用户界面非常方便。如果想要在Qt Creator中使用Qt Design Studio的工程进行应用程序开发,则需要添加四个文件:

(1)工程配置文件(CMakeLists.txt或者.pro

(2)C++程序文件(.cpp)

(3)资源文件

(4)将应用程序部署到设备所需的代码

首先,我们使用Qt Creator向导模板来创建使用qmake构建系统构建的Qt Quick应用程序,然后将源文件从Qt Design Studio项目路径复制到应用程序项目中。

使用项目配置文件中(.pro)的RESOURCES选项,自动将所有QML文件和相关资产添加到Qt资源集合文件(.qrc)中。注意:大文件应作为外部二进制资源包含,不要将它们编译进二进制文件中。

创建向导会自动将QML_IMPORT_PATH选项添加到项目配置文件中,用于指定QML的导入路径。只有在多个子目录中包含QML文件时,才需要指定该路径。

然后,我们可以使用C++源文件中的QQuickView类在应用程序启动时显示主QML文件。

Qt Quick Studio Components模块在安装Qt Design Studio时会自动安装。如果我们想在Qt Creator中编辑项目中的模块使用Qt Quick Studio Components或Effects,必须构建该模块并将其安装到Qt中才能构建项目。

转换过程演示

本小节将描述如何将具有.qmlproject文件的项目转换为.pro文件的项目。

(1)运行启动QtCreator软件。依次选择 File->New Project->Application(Qt)->Qt Quick Application->Choose:

(2)在Build System选择中,选择qmake作为用于构建和运行项目的构建系统,然后选择Next:

(3)按照创建向导的指示完成项目的创建。

(4)在Qt Design Studio中,依次点击『File』->『Generate QRC Resource File』选项生成资源文件。

(5)在文件资源管理器中,将Qt Design Studio项目目录中的文件复制到Qt Creator应用程序项目目录中的一个子目录中(将该目录命名为qml,需要提前创建)。

(6)打开应用程序项目文件(.pro),并编辑RESOURCES选项的值,添加如下代码:

RESOURCES += \
    $$files(qml/*)

(7)在(.pro)文件中编辑QML_IMPORT_PATH选项的值,用于指定QML导入路径:

QML_IMPORT_PATH = qml/imports

(8)选择Build-> Run qmake将RESOURCES选项应用于构建配置

(9)打开main.cpp文件并将QQmlApplicationEngine对象(一般使用QtCreaotr创建的工程,其默认在main()函数中使用的是QQmlApplicationEngine)替换为QQuickView对象(如果是在qml中使用Window等视图类型作为根目录包含了项目,则不用替换):

QQuickView view;
view.engine()->addImportPath("qrc:/qml/imports");
view.setSource(QUrl("qrc:/qml/ProgressBar.ui.qml"));
if (!view.errors().isEmpty())
    return -1;
view.show();

(注:上述代码为一个示例)

猜你喜欢

转载自blog.csdn.net/iriczhao/article/details/126942374
今日推荐