PyQt(Python+Qt)学习随笔:QTabWidget选项卡部件操作控制类属性movable和tabsClosable介绍
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)
注意:
- 如果只剩一个选项卡且显示了关闭按钮,点击后执行关闭操作时,并不会真正执行该选项卡的关闭操作,只是将选项卡栏进行了关闭。