调整QStatusBar :: showMessage()引发的大小

时间:2015-06-29 23:04:56

标签: c++ qt statusbar

我的应用程序的主窗口是一个QWidget,其QGridLayout包含其他几个小部件,包括QStatusBar。

我按照Qt文档quite good support these days进行操作,以便我的状态栏能够显示:

  • “正常消息”(即:“就绪”),通过使用QStatusBar::addWidget()将QLabel添加到状态栏。
  • 临时消息(暂时隐藏“正常消息”),方法是调用QStatusBar::showMessage()

我的问题是当状态栏上显示或清除临时消息时,它显然会触发QLayout::activate()(在我的主窗口的布局上)。这反过来可能会激活我窗口中其他小部件的大小调整,而我希望这种情况发生。

好奇(恼人)的事情是状态栏实际上没有调整大小(因为它应该,它不需要调整大小),所以我不确定为什么QStatusBar::showMessage()会要求布局调整任何事情。

任何人都知道解决方案吗?提前谢谢!

1 个答案:

答案 0 :(得分:-1)

使用

QWidget::adjustSize()

在显示或清除状态栏上的消息后调整父窗口小部件以适合其内容