使用此代码:
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)
这使得指数不断变化。
答案 0 :(得分: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)