首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【QT学习】将QtDesignStudio中生成的程序运行在QtCreator中

  关于如何将QtDesignStudio中生成的程序运行在QtCreator中,之前看过别人的文章是将QtDesignStudio生成CMakeList后直接导入QtCreator中使用,但是本人用这种方式未能成功。本文章的方法是研究QtCreator官方例子RobotArm总结,亲测可用。

  Qt Creator 6.6.3

  QDS 4.6.2

  以QDS默认示例做演示

  成果演示:

步骤一:在QtDesignStudio中选择File->Export Project->Enable CMake Generator,在程序构建时生成CMakeList.txt文件。

步骤二:使用QtCreator打开生成的CMakeList.txt。

  打开后是下图这样,有错误,但是不要紧。

  然后打开官方例子RobotArm,将它的CMakeList.txt内容复制到此处。或者复制以下代码是一样的。

cmake_minimum_required(VERSION 3.16)project(RobotArm LANGUAGES CXX)set(CMAKE_INCLUDE_CURRENT_DIR ON)set(CMAKE_AUTOMOC ON)if(NOT DEFINED INSTALL_EXAMPLESDIR)   set(INSTALL_EXAMPLESDIR "examples")endif()# set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/quick3d/robotarm")find_package(Qt6 REQUIRED COMPONENTS Gui Qml Quick Quick3D)qt_standard_project_setup()qt_add_executable(RobotArmApp src/main.cpp)qt_add_resources(RobotArmApp "configuration"   PREFIX "/"   FILES       qtquickcontrols2.conf)target_link_libraries(RobotArmApp PUBLIC   Qt::Core   Qt::Gui   Qt::Quick)add_subdirectory(Backend)#注意此处,因为QDS导出的程序里没有qmlmodules文件,这里我们可以将qmlmodules里的内容直接粘过来替换成自己的即可#include(${CMAKE_CURRENT_SOURCE_DIR}/qmlmodules)

步骤三:之后修改CMakeList.txt中的内容,按照以下方式修改

  替换完成是这样

  构建后发现提示src/main.cpp找不到,去自己的项目路径下找一下,我的是在App/main.cpp下,将src/main.cpp替换为App/main.cpp

  构建后会发现程序正常了,但是没有我们的qml文件。下一步就是将qml文件包含进来。

步骤四:添加子文件夹。

在RobotArm例子中打开qmlmodules看到以下内容

qt6_add_qml_module(RobotArmApp   URI "Main"   VERSION 1.0   NO_PLUGIN   QML_FILES main.qml   RESOURCE_PREFIX "/")add_subdirectory(content)add_subdirectory(imports)set(QML_IMPORT_PATH   ${CMAKE_BINARY_DIR}   CACHE STRING "")target_link_libraries(RobotArmApp PRIVATE   robotarm_contentplugin #对应两个文件夹名改:文件夹名+plugin   RobotArmplugin   backendmodule #)

  将该代码复制到自己项目的CMakeList后面,然后将所有RobotArm都改为自己的项目名。

  我们看到在这块代码中添加了两个子文件夹,将文件夹名字改为自己的文件夹名

  在项目目录下可以看到,除了App、cmake、Generated文件夹外的就是我们要添加的文件夹。

CMakeList.txt中改完是下图这样

步骤五:添加main.qml

选择新添加一个QML file文件

main.qml中添加以下内容

步骤六:更改main.cpp中的路径。将url的路径替换成新增的main.qml的路径

步骤七:将constants.qml中的部分内容注释掉

之后进行构建运行,程序即可成功运行。

程序显示不全,将App.qml中Screen01设置为anchors.fill: parent

  使用以上步骤后,该项目既可以在QDS中编辑又可以在QtCreator中进行编辑。

  运行结果:

  • 发表于:
  • 原文链接https://page.om.qq.com/page/O6F31mCHH6M_p4i_xwI9FlkQ0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券