9

我使用编译并运行的 Qt Designer 创建了一个 GUI。
然后我在 GUI 中进行了一些更改并再次重新编译,但 GUI 保持不变。
即使我删除小部件并重新编译它们也会出现......

我试过Clean AllClean Project没有成功......
可能是什么问题?

4

4 回答 4

7

您可以使用以下命令重新编译您的 UI。它对我有用。

uic mainwindow.ui>ui_mainwindow.h
于 2011-02-10T17:09:25.393 回答
4

我知道这是一个旧线程,但我想它仍然处于活动状态。这种错误行为的一个原因是启用了 Shadow build 复选框。单击 Qt 创建器中的“项目”图标,在 Build-> General 下,取消选中 Shadow build。再次重建。

于 2015-02-09T15:55:40.580 回答
3

我认为这是对应该发生的事情的总结。

  • 1.从一个空项目开始。
  • 2.使用QT设计器创建一个mainwindow.ui文件。
  • 3. qt creator 应该为您创建一个头文件ui_mainwindow.h,其中包含您的用户界面的必要定义以及一个成员函数 setupUi()。QT creator 通过调用uic(user interface compiler)生成这个 ui_mainwindow.h 文件。
  • 4.现在你有了这个文件,把这个代码添加到你的项目中,我认为它会正确显示你的 Qt GUI
  • 您可以在 Qt 设计器中自由编辑您的 GUI 并重新编译以显示更新的更改(我认为):)
  • #include "ui_mainwindow.h"
    #include <QMainWindow.h>
    #include <QApplication.h>
    
    int main(int argumentCount, char * argumentValues[])
    {
        QApplication app(argumentCount, argumentValues);
        Ui::MainWindow ui;
        QMainWindow * myMainWindow= new QMainWindow();
        ui.setupUi(myMainWindow);
        myMainWindow->show();
        return app.exec();
    }
    

    ps: 类 Ui::MainWindow 包含一个成员函数setupUi()为您设置 GUI。
    确保您拥有准确的类名,因为 c++ 区分大小写。祝你好运。

    于 2011-01-06T18:16:02.993 回答
    1

    您应该清理源目录。可能您在不同的目录中有两个 ui_mainwindow.h 文件。一个来自命令行构建的文件,另一个来自 Qt Creator 构建的文件。它发生在我身上,清理后一切正常。

    于 2014-07-10T06:58:14.967 回答