我有一个带有状态栏的应用程序,我想在其中添加/删除一个永久小部件(因为我需要它在右侧)。我的想法很简单:我最初隐藏了一个 QLabel 小部件,只有当用户选中复选框时它才会可见。
用户第一次选中该框时,小部件已完美创建,然后将其隐藏起来很简单QStatusBar::removeWidget(QWidget *widget)
,但是,我无法将小部件添加回状态栏,因为我不知道如何实现 show()功能。我阅读了文档,但我不清楚:
void QStatusBar::removeWidget(QWidget *widget) 从状态栏中移除指定的小部件。
注意:此功能不会删除小部件,而是将其隐藏。要再次添加小部件,您必须同时调用 addWidget() 和 show() 函数。
这是我的代码的一小部分摘录:
def statusbarCheckbox(self, s):
if s.isChecked():
self.statusbar.addWidget(self.label_widget)
# what am I missing here?
# show() !?
else :
self.statusbar.removeWidget(self.label_widget)
我确定我的 if 语句中缺少一些基本行,即应该再次显示小部件的时间,但我不确定在其中添加什么。