我想知道如何只编辑QTreeWidgetItem的一列。在
目前,我可以编辑QTreeWidgetItem的所有列。在
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
import sys
app = QApplication(sys.argv)
qApp = app
pointListBox = QTreeWidget()
header=QTreeWidgetItem(["Tree","First","secondo"])
pointListBox.setHeaderItem(header)
root = QTreeWidgetItem(pointListBox, ["root"])
A = QTreeWidgetItem(root, ["A"])
barA = QTreeWidgetItem(A, ["bar", "i", "ii"])
bazA = QTreeWidgetItem(A, ["baz", "a", "b"])
barA.setFlags(barA.flags() | Qt.ItemIsEditable)
bazA.setFlags(bazA.flags() | Qt.ItemIsEditable)
pointListBox.show()
sys.exit(app.exec_())
编辑
我添加了一些更改,但我不知道如何编辑QtreeWidgetItem的第二列。在
^{pr2}$
没有方法/标志可以直接配置。在
您可以通过完全关闭Qt的
EditTriggers
来解决这个问题,并实现自己的函数来决定是否应该编辑某个项:如果您还想在其他场合编辑,只需将
checkEdit
连接到相应的信号,例如itemClicked
、itemEntered
等试试这个,对我有用。在
相关问题 更多 >
编程相关推荐