如何防止关闭选项卡QTabWidget? PyQT4

问题描述 投票:0回答:1

使用此代码:

QtCore.QObject.connect(self.tabWidget, QtCore.SIGNAL("tabCloseRequested(int)"),
                       self.tabWidget.removeTab)

我可以关闭任何选项卡QTabWidget,这些选项卡的名称是:

work_1

work_2

work_3

但我希望选项卡 work_1 永远不会关闭。

使用索引不起作用有两个原因:

  • 可以通过以下代码动态移动选项卡:

    self.tabWidget.setMovable (True)
    

这使得指数不断变化。

  • 用户可以添加新选项卡。
python pyqt signals-slots qtabwidget
1个回答
0
投票

选项卡可以通过其小部件来识别,小部件可以通过其

objectName
(或其他一些独特的属性)来识别:

        self.tabWidget.tabCloseRequested.connect(sef.removeTab)
        ...

    def removeTab(self, index):
        widget = self.tabWidget.widget(index)
        if widget is not None and widget.objectName() != 'work_1':
            self.tabWidget.removeTab(index)

或者更简单地说:

        if widget is not None and widget is not self.work_1:
            self.tabWidget.removeTab(index)
© www.soinside.com 2019 - 2024. All rights reserved.