qt修改完ui文件起不到作用


一.背景

在使用qt中經常會用到影子模式,即把編譯生成的文件放到源代碼目錄以外的地方,比如build目錄,以起到代碼整潔的目的.

使用這種模式經常會遇到一些問題:

比如qt修改ui文件,運行后卻沒有更新.原因是程序中使用的ui_xx.h文件不是最新的文件.

二.解決辦法:

方法1: 取消影子構建,此后構建目錄與源碼處於同一目錄,每次編譯更新程序使用的UI文件 

方法2:項目設置文件.pro內增加 UI_DIR=[ui_xx.h相對編譯目錄的相對路徑或者自己的絕對路徑],同時刪除掉源代碼目錄中ui_*.h,clear all, -> qmake -> rebuilt all (注意qmake用來生成makefile,而build用來編譯鏈接代碼.)

(如果不寫UI_DIR, ui_xx.h應該默認就是生成在編譯目錄下,至於為何當時沒有正確更新,可能的原因是makefile是過期的吧,這個待再次遇到后驗證)

 

參考文章:

1.https://blog.csdn.net/qq_40194498/article/details/80049258

2.https://blog.csdn.net/cokewei/article/details/6639960


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM