如何使 QTabWidget 可点击?
Posted
技术标签:
【中文标题】如何使 QTabWidget 可点击?【英文标题】:How to make QTabWidget clickable? 【发布时间】:2017-10-03 07:11:19 【问题描述】:我搜索了这个主题并找到了一些示例如何使 qwidget 可点击但只是打印这样的文本 导入系统
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】:你应该做的是创建一个信号并输出它,如下所示:
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_()
【讨论】:
@seghier 如果对您有用,请将其标记为正确。 是的,它可以作为我通过两行简单的行找到的解决方案: self.tabWidget.mousePressEvent = self.tabOpen1 和 def tabOpen1(self, event): self.folder_open.toggle() ;通过这种方式,当我单击 tabwidget 时,按钮切换并打开/关闭列表窗口 这是一个解决方案,特别是如果您只拥有该类型的小部件,它就可以工作,在我的情况下,我提出了这个类,因为它有一个信号,您可以连接到多个插槽。如果我的回答对你有帮助,别忘了标记为正确。 @seghier 此外,在 SO 中,如果答案正确,通常会给予支持或将回复标记为正确。我看你没有,这让我不鼓励继续帮助你。 不理解,因为我还没有尝试游览方法;我需要先创建新文件并尝试;这是一个承诺以上是关于如何使 QTabWidget 可点击?的主要内容,如果未能解决你的问题,请参考以下文章
当添加子选项卡时,如何使 qtabwidget 实例自动调整大小?
如何确定一个点是不是在 QTabWidget 的 QTabBar 旁边?