QTabWidget的操作控制類屬性包括movable、tabsClosable這兩個。
1. movable選項卡是否可移動屬性
QTabWidget的movable屬性用於控制是否用戶可以通過鼠標拖拽移動不同選項卡的位置順序,缺省值爲False,表示不能移動,可以通過方法isMovable()和setMovable(bool movable)來訪問。
注意:
選項卡移動順序後,對應的選項卡的位置索引會跟隨改變,按照最新順序設置索引值。
2. tabsClosable選項卡是否可關閉屬性
QTabWidget的tabsClosable屬性用於控制選項卡欄的每個選項卡是否顯示關閉按鈕,但顯示後點擊該按鈕只是發送一個tabCloseRequested信號,並不真正關閉該選項卡,從這個角度上來說其實是一個外觀控制屬性,但通過連接對應信號和相關的槽方法,可以實現選項卡的關閉操作。tabsClosable屬性默認值爲False,可以通過方法tabsClosable()和setTabsClosable(bool closable)來訪問該屬性。
連接tabCloseRequested信號和槽方法的示例代碼:
class mainWin(QtWidgets.QWidget,ui_tabWidget.Ui_mainWin):
def __init__(self):
super().__init__()
self.setupUi(self)
self.tabWidget.tabCloseRequested.connect(self.tabClose)
def tabClose(self,index):
self.tabWidget.tabBar().removeTab(index)
注意:
- 如果只剩一個選項卡且顯示了關閉按鈕,點擊後執行關閉操作時,並不會真正執行該選項卡的關閉操作,只是將選項卡欄進行了關閉。