Qt拖拽界面 (*.ui) 縮放問題及解決辦法(在最頂層放一個Layout)


問題

使用Qt Designer 設計的界面,在縮放的時候不能隨着主窗口一起縮放。

解決辦法

之前遇到這個問題的時候,都是直接重寫resizeEvent接口來實現的,在自動生成的Ui_WidgetUi_MainWindow等類中會有一個widget或者centerWidget的成員,所有的拖拽出的控件都是在這之上的。只需要把resizeEvent傳遞給它即可。

這種方式雖然解決了問題,但是總是不太理想,還需要去改代碼。

好的解決辦法

其實中問題不需要去改代碼,既然所有的拖拽出的控件都在一個widget上,而這個widget是不會隨着調用ui->setupUi(this);的窗口一起縮放的,因為它們只有父子對象關系,而沒有使用到布局空間。
這里只需要在Qt Designer中選擇設計界面的頂級對象,然后右鍵單擊,在布局選項中選擇一個你想要的布局即可。這樣之后,moc生成的Ui_XXXX類中會有一個xxxxlayout對象,所有控件都會加載到這個Layout上(替代了原本的widget)。這里生成的xxxxxlayout與選擇的布局有關系。




http://www.cnblogs.com/oloroso/p/6092870.html


免責聲明!

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



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