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

Python:如何从QTabWidget查询当前选项卡,python,pyqt,qtabwidget,Python,Pyqt,Qtabwidget,一个包含三个选项卡的简单对话框:“Tab_01”、“Tab_02”和“Tab_03”。 按“什么选项卡?”按钮应打印当前活动的选项卡。 如何实现?(示例代码如下所示): 正如您所看到的,QTabWidget有方法currentIndex和currentWidget,正如您所看到的,QTabWidget有方法currentIndex和currentWidget这是解决方案(谢谢!): 以下是解决方案(谢谢!): from PyQt4 import QtGui, QtCore import sys

一个包含三个选项卡的简单对话框:“Tab_01”、“Tab_02”和“Tab_03”。 按“什么选项卡?”按钮应打印当前活动的选项卡。 如何实现?(示例代码如下所示):

正如您所看到的,QTabWidget有方法
currentIndex
currentWidget
,正如您所看到的,QTabWidget有方法
currentIndex
currentWidget
这是解决方案(谢谢!):

以下是解决方案(谢谢!):

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_())
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() current Tab index =', arg

    def whatTab(self):
        currentIndex=self.tabWidget.currentIndex()
        currentWidget=self.tabWidget.currentWidget()

        print '\n\t Query: current Tab index =', currentIndex


if __name__ == '__main__':
    app = QtGui.QApplication(sys.argv)
    dialog_1 = Dialog_01()
    dialog_1.show()
    dialog_1.resize(480,320)
    sys.exit(app.exec_())