Skip to main content
 首页 » 编程设计

Python:如何从 QTabWidget 查询当前选项卡

2025年05月04日17fff_TT

带有三个选项卡的简单对话框:“Tab_01”、“Tab_02”和“Tab_03”。 按“什么选项卡?”按钮应打印当前处于事件状态的选项卡。 如何实现? (下面发布的示例代码):

from PyQt4 import QtGui, QtCore 
import sys, os 
 
 
class Dialog_01(QtGui.QMainWindow): 
    def __init__(self): 
        super(QtGui.QMainWindow,self).__init__() 
 
        mainWidget=QtGui.QWidget() 
        self.setCentralWidget(mainWidget) 
        mainLayout = QtGui.QVBoxLayout() 
        mainWidget.setLayout(mainLayout) 
 
        self.tabWidget = QtGui.QTabWidget() 
        mainLayout.addWidget(self.tabWidget) 
 
        self.tabWidget.connect(self.tabWidget, QtCore.SIGNAL("currentChanged(int)"), self.tabSelected) 
 
        myBoxLayout = QtGui.QVBoxLayout() 
        self.tabWidget.setLayout(myBoxLayout) 
 
        self.tabWidget.addTab(QtGui.QWidget(),'Tab_01') 
        self.tabWidget.addTab(QtGui.QWidget(),'Tab_02') 
        self.tabWidget.addTab(QtGui.QWidget(),'Tab_03')           
 
 
        ButtonBox = QtGui.QGroupBox()  
        ButtonsLayout = QtGui.QHBoxLayout() 
        ButtonBox.setLayout(ButtonsLayout) 
 
        Button_01 = QtGui.QPushButton("What Tab?") 
        ButtonsLayout.addWidget(Button_01) 
        Button_01.clicked.connect(self.whatTab) 
 
        mainLayout.addWidget(ButtonBox) 
 
 
    def tabSelected(self, arg=None): 
        print '\n\t tabSelected():', arg 
 
    def whatTab(self): 
        print '\n\t current Tab:', '?' 
 
 
if __name__ == '__main__': 
    app = QtGui.QApplication(sys.argv) 
    dialog_1 = Dialog_01() 
    dialog_1.show() 
    dialog_1.resize(480,320) 
    sys.exit(app.exec_()) 

请您参考如下方法:

如你所见here QTabWidget 有方法 currentIndex 和 currentWidget。