在使用Qt进行UI设计的时候会用到QSpacerItem控件,QSpacerItem就是一个伸缩器,在Qt Designer中是这两个控件
。
有时界面在响应某些操作后会涉及到Spacer大小的控制。可以使用QSpacerItem的公共函数
来控制其大小,但是使用这个函数后并不会生效(除非是窗口构造函数中执行会生效一次)。还需要执行一个操作
void QLayoutItem::invalidate ()
才可以令改动生效。这需要QSpacerItem所在的布局来执行,如果QSpacerItem放在一个布局里面则直接让这个布局执行invalidate()函数,如果QSpacerItem是在一个QWidget中布局的可以先使用QLayout * layout () const,获取窗口布局接着使用invalidate()函数。