我搜索了这个主题,并找到了一些如何使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可点击,当点击它时我们可以像按钮一样使用它来打开文件吗?
答案 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_()