qt - 如何在基于 Qt Widget 的应用程序中使用 DEPLOYMENTFOLDERS 指令

标签 qt qt-creator

当我使用 Qt Creator 创建 Qt Quick/QML 项目时,它会将 DEPLOYMENTFOLDERS 添加到 .pro 文件中。我可以使用此指令在构建(编译)应用程序时将一些文件夹/文件复制到构建目录。

如何在简单的基于 Qt Widget 的应用程序中使用它?

Qt Creator 不会为简单的 Qt 项目添加它,当我手动执行它时,它不起作用。

这是我的项目文件:

folder_01.source = sounds
#folder_01.target =
DEPLOYMENTFOLDERS += folder_01

QT += core gui widgets
TARGET = myApp
TEMPLATE = app
SOURCES += main.cpp

我试过 "/sounds"和 "sounds/*"并且这样想。但没有任何作用。我在这里缺少什么?

最佳答案

我正在研究这个并偶然发现了这个悬而未决的问题。

基本上我确实提倡使用资源系统,但是当您进行快速 UI 开发 (qml) 时,等待资源文件编译可能会很烦人,所以我想简单地复制这些文件。

这里令人困惑的是源/目标的含义略有不同。最好的描述方式是 copy this -> this root而不是 copy this -> here
我的构建只是想让我的资源在路径上“原始”,所以我正在复制 folder->/这是我拥有的项目文件的示例:

folder_qml.source = qml
folder_qml.target = /
folder_js.source = js
folder_js.target = /
folder_img.source = img
folder_img.target = /
DEPLOYMENTFOLDERS += folder_qml folder_js folder_img

构建时,您可以验证输出:
10:41:57: Starting: "C:\Qt\Qt5.2.1\Tools\mingw48_32\bin\mingw32-make.exe" 
C:/Qt/Qt5.2.1/Tools/mingw48_32/bin/mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory 'C:/Development/Subversion/MyBuild-Desktop_Qt_5_2_1_MinGW_32bit-Debug'
Copying application data... 
60 File(s) copied
12 File(s) copied
6 File(s) copied
mingw32-make[1]: Leaving directory 'C:/Development/Subversion/MyBuild-Desktop_Qt_5_2_1_MinGW_32bit-Debug'
Copying application data... 
60 File(s) copied
12 File(s) copied
6 File(s) copied
10:41:58: The process "C:\Qt\Qt5.2.1\Tools\mingw48_32\bin\mingw32-make.exe" exited normally.

生成的构建看起来像:
/Build dir/
  + release
  + debug
  + qml
  + js
  + img
  Makefile.Release
  Makefile.Debug
  Makefile

我希望这有助于回答您的问题。我没有找到任何关于它的文档,所以我只是玩它直到它工作。 (对于测试的模拟数据非常有帮助)。

关于qt - 如何在基于 Qt Widget 的应用程序中使用 DEPLOYMENTFOLDERS 指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18441129/

相关文章:

c++ - QT Creator 配置更改以解决链接错误?

qt - 如何在 Qt Creator 中使用 qmlint?

c++ - QT C++ 的新手问题 - Qimage 不工作?

c++ - QPushButton 背景颜色重叠边框

c++ - 管理 Qt 中的右键和左键单击

c++ - 为 QMessageBox 设置父级

android - Android 版 Qt : QtCreator build/deploy error when executing step "Build Android APK"

qt - 无法运行 Qt 应用程序 : version `Qt_5' not found

multithreading - 主线程繁忙时如何使At工作?

linux - Qt Creator 从 Windows 交叉编译 Raspberry Pi,发出远程运行应用程序的问题