我的应用程序的主窗口是一个QWidget,其QGridLayout包含其他几个小部件,包括QStatusBar。
我按照Qt文档quite good support these days进行操作,以便我的状态栏能够显示:
QStatusBar::addWidget()
将QLabel添加到状态栏。QStatusBar::showMessage()
。我的问题是当状态栏上显示或清除临时消息时,它显然会触发QLayout::activate()
(在我的主窗口的布局上)。这反过来可能会激活我窗口中其他小部件的大小调整,而我不希望这种情况发生。
好奇(恼人)的事情是状态栏实际上没有调整大小(因为它应该,它不需要调整大小),所以我不确定为什么QStatusBar::showMessage()
会要求布局调整任何事情。
任何人都知道解决方案吗?提前谢谢!
答案 0 :(得分:-1)
使用
QWidget::adjustSize()
在显示或清除状态栏上的消息后调整父窗口小部件以适合其内容