我正在努力让QTreeWidget与这个完全相似。在python中!我不关心多个标签但是关于多个列。
这是我到目前为止所得到的。我不知道如何拥有多个标题。
self.pointListBox = QtGui.QTreeWidget()
x=QtGui.QTreeWidgetItem()
x.setText(0,str(coords[0]))
y=QtGui.QTreeWidgetItem()
y.setText(0,str(coords[1]))
Qname=QtGui.QTreeWidgetItem()
Qname.setText(0,new_point_name)
self.pointListBox.setHeaderItem(Qname)
parent = QtGui.QTreeWidgetItem(self.pointListBox)
parent.setText(0,new_point_name)
parent.addChild(x)
parent.addChild(y)
答案 0 :(得分:19)
你需要解决一些问题。
from PyQt4 import QtCore, QtGui
import sys
app = QtGui.QApplication(sys.argv)
QtGui.qApp = app
pointListBox = QtGui.QTreeWidget()
header=QtGui.QTreeWidgetItem(["Tree","First","secondo"])
#...
pointListBox.setHeaderItem(header) #Another alternative is setHeaderLabels(["Tree","First",...])
root = QtGui.QTreeWidgetItem(pointListBox, ["root"])
A = QtGui.QTreeWidgetItem(root, ["A"])
barA = QtGui.QTreeWidgetItem(A, ["bar", "i", "ii"])
bazA = QtGui.QTreeWidgetItem(A, ["baz", "a", "b"])
pointListBox.show()
sys.exit(app.exec_())
我没有完成这个例子,但这应该让你相当接近。
请注意,
代替barA = QtGui.QTreeWidgetItem(A, ["bar", "i", "ii"])
,没有任何问题
barA = QtGui.QTreeWidgetItem(A)
barA.setText(0,"bar")
barA.setText(1,"i")
barA.setText(2,"ii")
如果您需要在显示文本之前计算某些内容。