2016-03-21 65 views
0

有了這個代碼:如何防止關閉選項卡QTabWidget? PyQt4的

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

標籤可以通過他們的小工具來識別,而小部件可以通過它們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) 
+0

是的,如果他想到objectName但不知道如何連接。 感謝您的幫助。 –