QSpacerItem的大小控制

在使用Qt進行UI設計的時候會用到QSpacerItem控件,QSpacerItem就是一個伸縮器,在Qt Designer中是這兩個控件

有時界面在響應某些操作後會涉及到Spacer大小的控制。可以使用QSpacerItem的公共函數

void	changeSize ( int w, int h, QSizePolicy::Policy hPolicy = QSizePolicy::Minimum, QSizePolicy::Policy vPolicy = QSizePolicy::Minimum )

來控制其大小,但是使用這個函數後並不會生效(除非是窗口構造函數中執行會生效一次)。還需要執行一個操作

void QLayoutItem::invalidate ()
纔可以令改動生效。這需要QSpacerItem所在的佈局來執行,如果QSpacerItem放在一個佈局裏面則直接讓這個佈局執行invalidate()函數,如果QSpacerItem是在一個QWidget中佈局的可以先使用QLayout * layout () const,獲取窗口布局接着使用invalidate()函數。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章