使用此代码:
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)
这使得指数不断变化。
选项卡可以通过其小部件来识别,小部件可以通过其
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)