【问题标题】:Put a QLineEdit() into a QTreeWidgetItem()将 QLineEdit() 放入 QTreeWidgetItem()
【发布时间】:2015-06-22 16:23:49
【问题描述】:

是否可以将 QLineEdit() 放入 QTreeWidgetItem() 以修改 QTreeWidgetItem 的文本?

这是我的代码

def addItemsToTree(self, parent, text, checkable=False, expanded=True):
    self.item = QTreeWidgetItem(parent, [text])
    if checkable:
        self.item.setCheckState(0, Qt.Unchecked)
    else:
        self.item.setFlags(self.item.flags() & ~Qt.ItemIsUserCheckable)
    self.item.setExpanded(expanded)
    min = QLineEdit()
    max = QLineEdit()
    self.addChildTree(self.item, self.column, "Min =", "Min =")
    self.addChildTree(self.item, self.column, "Max =", "Max =")
    return self.item

def addChildTree(self, parent, column, title, data):
    item = QTreeWidgetItem(parent, [title])
    item.setData(column, Qt.UserRole, data)
    return item

【问题讨论】:

    标签: python python-3.x pyqt pyqt5


    【解决方案1】:

    将您的项目标志设置为包含ItemIsEditable 就足够了:

    self.item.setFlags(self.item.flags() | Qt.ItemIsEditable)
    

    您还可以配置EditTriggers 以根据需要开始编辑,例如双击项目时:

    treeView.setEditTriggers(QtGui.QAbstractItemView.DoubleClicked)
    

    双击树小部件中的项目现在应该会打开一个编辑器 - 默认情况下只是一个 QLineEdit

    【讨论】:

      猜你喜欢
      • 2015-09-13
      • 1970-01-01
      • 1970-01-01
      • 2018-08-02
      • 2015-03-13
      • 2018-08-31
      • 2021-12-11
      • 1970-01-01
      相关资源
      最近更新 更多