問題
使用Qt Designer 設計的界面,在縮放的時候不能隨着主窗口一起縮放。
解決辦法
之前遇到這個問題的時候,都是直接重寫resizeEvent
接口來實現的,在自動生成的Ui_Widget
或Ui_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