【问题标题】:How to make QTabWidget clickable?如何使 QTabWidget 可点击?
【发布时间】: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 可以点击,当点击它时,我们可以像按钮一样使用它来打开文件?

【问题讨论】:

  • 我找到了解决方案,但我需要更多测试才能得到我想要的:

标签: python-2.7 pyqt4 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 中,如果答案正确,通常会给予支持或将回复标记为正确。我看你没有,这让我不鼓励继续帮助你。
  • 不理解,因为我还没有尝试游览方法;我需要先创建新文件并尝试;这是一个承诺
猜你喜欢
  • 1970-01-01
  • 2013-03-07
  • 2019-08-05
  • 2016-02-13
  • 2014-09-12
  • 2015-02-07
  • 2014-11-16
  • 2013-09-20
相关资源
最近更新 更多