ui文件更改後沒有更新,以及解決方法

i文件更改並重新編譯之後,運行可執行文件卻發現並沒有更新。

這個是該版本sdk的bug,經過研究發現,必須在Qt Command Prompt下手動運行 uic XXX.ui -o ui_XXX.h 命令,該命令就是把你所更改的ui文件編譯爲.h頭文件,然後編譯運行就會發現你的更新成功了。

ui源文件到界面顯示的原理可以網上搜索,這裏不再描述。簡單講就是先要從*.ui生成ui_*.h然後再編譯,所以界面未更新實際上是因爲ui_*.h這個文件沒有更新導致的。

出現此問題後我嘗試了以下幾個方法:

1,在生成目標的文件夾內找到ui_*.h,複製到源代碼文件夾內覆蓋原來文件,成功

2,刪除源代碼文件夾內ui_*.h後,clear all 然後再重新編譯,失敗。

3,uic *.ui -o ui_*.h 失敗,生成的ui_*.h是空的 

根治的方法:

項目設置文件.pro內增加 UI_DIR=./UI,同時刪除掉源代碼目錄中ui_*.h,clear all,->qmake->rebuilt all

總結:導致ui_*.h文件沒有更新的原因是源代碼中#include ui_*.h的位置和實際生成的位置不同,引用的是老的ui_*.h,設置UI_DIR後就規定了位置於是不會出錯了

 

轉自http://blog.csdn.net/cokewei/article/details/6639960

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章