构建Qt Creator IDE的目录

时间:2017-08-07 15:56:59

标签: qt build directory qt5 qt-creator

我正在尝试使用一些数据填充QTableview。在Qt Creator下开发时,将从构建目录中读取数据。每次运行程序时,QTableview都会继续使用以前的数据重新填充。

如果我每次在运行之前手动更改构建目录,则不会发生。但是,如果我不想在每次想要全新运行时手动更改构建目录,如何解决问题呢?

2 个答案:

答案 0 :(得分:0)

在项目目录中有一个文件名ProjectName.pro.user

配置项目时创建此文件。它是XML档案。

您可以在*.user个文件中找到这一行:

<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:/Users/probook/Documents/Qt/testProject/Build/Windows/Debug</value>

此行定义调试的构建目录地址。该文件中的Release和Profile有一行相同的行。

您还可以使用Qt创建器来定义(自定义)相对目录构建: 转到Qt创建者,ToolsOptions...Build & RunGeneralDefault build directoryScreenshot

更多信息:

Qt Creator stores user-specific project settings in a .pro.user file. You can share these settings between several projects as a .pro.shared file. It has the same XML structure as a .pro.user file, but only contains the settings to share.

答案 1 :(得分:0)

根据评论,问题似乎是保存到构建目录的数据。解决方案是在运行应用程序之前将其删除。

您可以在项目 - 构建设置 - 下添加自定义流程步骤  构建步骤,或在项目 - 运行设置 - 部署下,只删除所需的数据文件。确切的命令取决于操作系统。

另一种方法可能是向应用程序本身添加命令行开关,例如--development-erase-saved-data,并删除文件(或者只是不读取它们,或者其他)。然后将该命令行开关添加到项目 - 运行设置 - 运行步骤 - 命令行参数以获取所需的构建配置。

在应用程序本身中添加对此的支持更容易维护,并且几乎自动跨平台。但是,它可能是您在应用程序中不想要的功能,但在这种情况下,您可能只为调试版本启用它(使用#ifdef)。

作为旁注,如今将数据保存到可执行目录并不是一个好主意。您可能希望将其保存为例如

返回的位置

QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)

(有关详细信息,请参阅here。)