如何使QTabWidget可点击?

时间:2017-10-03 07:11:20

标签: python-2.7 pyqt4 qtabwidget

我搜索了这个主题,并找到了一些如何使qwidget可点击的例子,但只是打印像这样的文本 import sys

from PyQt4.QtGui import QWidget, QApplication

class MyWidget(QWidget):
    def mousePressEvent(self, event):
        print "clicked"

app = QApplication(sys.argv)

widget = MyWidget()
widget.show()

app.exec_()

我需要的是可以使QTabWidget可点击,当点击它时我们可以像按钮一样使用它来打开文件吗?

1 个答案:

答案 0 :(得分:1)

你应该做的是创建一个信号并输出​​它,如下所示:

class ClickableQTabWidget(QTabWidget):
    clicked = pyqtSignal()
    def mousePressEvent(self, event):
        self.clicked.emit()

class Widget(QWidget):
    def __init__(self, parent=None):
        QWidget.__init__(self, parent)
        self.setLayout(QVBoxLayout())
        self.cw = ClickableQTabWidget(self)
        self.layout().addWidget(self.cw)
        self.cw.clicked.connect(self.onClicked)

    def onClicked(self):
        print("clicked")

app = QApplication(sys.argv)

widget = Widget()
widget.show()

app.exec_()