Qt GUI在编译后没有改变

kay*_*cee 9 qt qt-creator qt-designer

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

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

Cel*_*gün 7

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

uic mainwindow.ui>ui_mainwindow.h
Run Code Online (Sandbox Code Playgroud)


小智 5

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


Dr *_*Deo 3

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

  • 1. 从一个空项目开始。
  • 2.使用QT设计器创建mainwindow.ui文件。
  • 3. qt 创建者应该为您创建一个头文件ui_mainwindow.h,其中包含用户界面的必要定义以及成员函数 setupUi()。QT 创建者通过调用uic(用户界面编译器)生成此 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();
    }
    
    Run Code Online (Sandbox Code Playgroud)

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