将 QLineEdit() 放入 QTreeWidgetItem()
Put a QLineEdit() into a QTreeWidgetItem()
是否可以将 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
将您的项目标志设置为包含 ItemIsEditable
:
就足够了
self.item.setFlags(self.item.flags() | Qt.ItemIsEditable)
您还可以配置 EditTriggers 以根据需要开始编辑,例如双击一个项目:
treeView.setEditTriggers(QtGui.QAbstractItemView.DoubleClicked)
双击 treewidget 中的项目现在应该会弹出一个编辑器 - 默认情况下只是一个 QLineEdit
.
是否可以将 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
将您的项目标志设置为包含 ItemIsEditable
:
self.item.setFlags(self.item.flags() | Qt.ItemIsEditable)
您还可以配置 EditTriggers 以根据需要开始编辑,例如双击一个项目:
treeView.setEditTriggers(QtGui.QAbstractItemView.DoubleClicked)
双击 treewidget 中的项目现在应该会弹出一个编辑器 - 默认情况下只是一个 QLineEdit
.