0

我有一个带有状态栏的应用程序,我想在其中添加/删除一个永久小部件(因为我需要它在右侧)。我的想法很简单:我最初隐藏了一个 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 语句中缺少一些基本行,即应该再次显示小部件的时间,但我不确定在其中添加什么。

4

0 回答 0