【问题标题】:How to connect treewidget item with doubleclick如何通过双击连接treewidget项目
【发布时间】:2017-04-18 21:51:59
【问题描述】:

我正在做一个程序,而不是使用菜单栏来调用不同的事件,我想将它们放在 TreeWidget 中。使用 Designer,我设计了界面并添加了以下项目:

  • 项目 A:
    • 项目 a1
    • 项目a2
  • B 项:
    • 项目 b1

我想要的是,当双击时,每个项目执行一个事件,方法,......不同。为了简化示例,请将文本更改为标签。

我的代码:

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QTreeWidgetItem
from PyQt5 import uic,


class Ventana(QMainWindow):
    def __init__(self):
        QMainWindow.__init__(self)
        uic.loadUi('ui2.ui', self)
        self.treewidget.itemDoubleClicked.connect(self.insertar)

    def insertar(self):
        self.item = self.treewidget.currentItem()
        if self.item == 'a1':
            self.label1.setText('ok')
        elif self.item == 'a2':
            self.label2.setText('yes')
        elif self.item == 'b1':
            self.label3.setText('No')

app = QApplication(sys.argv)
ventana = Ventana()
ventana.show()
app.exec_()

我查看了几个示例(均指文件资源管理器)和文档,但我对 pyqt 非常熟悉。而且我还没有清理完。 我希望你能帮助我,对不起英语是谷歌翻译

【问题讨论】:

    标签: python python-3.x pyqt pyqt5


    【解决方案1】:

    您想比较第 0 列的QTreeWidgetItem.text,而不是项目本身。

    if self.item.text(0) == "a1":
        self.label1.setText('ok')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-31
      • 2016-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-11
      • 2011-08-21
      • 1970-01-01
      相关资源
      最近更新 更多