Qt Creator IDE的生成目录
我想用一些数据填充QTableview
。在Qt Creator下开发时,从构建目录读取数据。每次运行该程序时,QTableview
都会继续使用以前的数据重新填充。Qt Creator IDE的生成目录
如果我在运行前每次手动更改构建目录,都不会发生。但是如何解决这个问题,而不需要每次我想要一个新的运行时手动改变编译目录呢?
在您的项目目录中有一个文件名ProjectName.pro.user
。
在配置项目时创建此文件。这是XML文件。
你可以*.user
文件找到这一行:调试
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:/Users/probook/Documents/Qt/testProject/Build/Windows/Debug</value>
此行定义build目录地址。该文件中的版本和配置文件有相同的行。
您也可以使用Qt Creator的定义(自定义)相对目录编译: 转到Qt Creator的,Tools
,Options...
,Build & Run
,General
,Default build directory
。
更多信息:
基于评论,问题似乎是它被保存到建立的目录数据。解决办法是在运行应用程序之前删除它。
您可以添加自定义过程步骤下,要么在项目 - 构建设置 - 生成步骤,或在项目 - 运行设置 - 部署,只是删除所需的数据文件。确切的命令取决于操作系统。
另一种方法是向应用程序本身添加一个类似--development-erase-saved-data
的命令行开关,并擦除文件(或者只是不读取它们,或者其他)。然后将该命令行开关添加到项目 - 运行设置 - 运行步骤 - 命令行参数以获取所需的生成配置。
在应用程序本身中添加对此的支持更易于维护,并且几乎可以自动跨平台。但是,这可能是您不希望在应用程序中使用的功能,但在这种情况下,您可能只能为调试版本启用它(使用#ifdef
)。
作为一个备注,保存数据到可执行文件目录并不是一个好主意。你可能想例如保存它的位置由
QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)
返回(见here获取更多信息。)
Qannie你是什么IDE? Qt的创造者?视觉工作室? – aghilpro
Qt创建者是我的IDE – annie
虽然我看不到QTableView的链接。 – AlexanderVX