2011-01-06 59 views
8

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

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

+0

您可能需要在.ui文件上运行pyuic(或pyuic4)以获取更新的.py。 – Apalala 2011-01-06 16:36:11

+0

你在使用什么开发环境? – 2011-01-06 18:02:31

+0

我使用QT Creator 2.0.1 不是python ... – kaycee 2011-01-06 19:08:31

回答

3

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

  • 1.从一个空的项目开始。
  • 2.使用QT设计器创建一个mainwindow.ui文件。
  • 3. qt creator应该为您创建一个头文件ui_mainwindow.h包含用户界面和成员函数setupUi()的必要定义。 QT创建者通过调用uic(用户界面编译器)来生成此ui_mainwindow.h文件。
  • 4.Now你有这样的文件,该代码添加到您的项目,我想它会显示你的Qt GUI正常
  • 您可以自由编辑您的GUI在Qt Designer中,并重新编译,以显示更新改变(我认为):)
  • #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 ::主窗口中包含一个成员函数setupUi()是setsup你的GUI。
    请确保您具有确切的类名,因为C++区分大小写。 祝你好运。

    6

    您可以使用以下命令重新编译您的UI。它为我工作。

    uic mainwindow.ui>ui_mainwindow.h 
    
    1

    你应该清理你的源码目录。可能你在不同目录下有两个ui_mainwindow.h文件。通过命令行构建一个文件,另一个文件由Qt Creator构建。 它发生在我身上,清理完成后一切正常。

    3

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