Qt ui文件无法编译到C ++头文件中

时间:2012-10-18 14:33:24

标签: c++ visual-studio-2010 qt

我在Visual Studio 2010中创建了一个Qt应用程序项目。它包含以下文件

Form Files
  mainwindow.ui
Header Files
  mainwindow.h
Source Files
  mainwindow.cpp

它还使用名为ui_mainwindow.h的生成代码文件。根据我能够辨别的内容,应该重新生成此文件以响应对.ui文件所做的更改。但是,如果我在Designer中打开ui文件并进行更改,则应用程序中不会显示任何更改。

我必须去表格 - >查看代码 - >在Qt Designer中另存为并手动保存ui_mainwindow.h文件。

2 个答案:

答案 0 :(得分:0)

.ui文件应定义自定义构建工具,以便在其上使用uic并生成相应的ui_*.h文件。

自定义构建工具命令行可能如下所示:

uic.exe "$(InputPath)" -o "ui_$(InputName).h"

此外,为了正确检测依赖关系并清除命令删除生成的文件,请将ui_$(InputName).h添加到自定义生成工具输出。

不要忘记对所有配置和平台进行更改。

尽管如此,正确的方法是创建适当的.pro文件,然后使用qmake -tp vc project.pro生成Visual Studio项目。应在.pro文件中调整所有编译器和链接器设置,而不是在每次更改.pro文件后应重新生成的Visual Studio项目中。

答案 1 :(得分:0)

我的意思是没有冒犯,但你在运行项目之前保存了.ui文件吗?

当我需要编辑ui文件时,我用设计器更改它们,当我想运行它时,它将重新编译/ moc /改变的ui文件及其.h / .cpp文件。