2011-01-06 90 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下,取消選中陰影構建。再次重建。