如果项目尚未使用.addTopLevelItem()添加到TreeWidget中,如何设置项目小部件

2024-07-03 06:32:26 发布

您现在位置:Python中文网/ 问答频道 /正文

QTreeWidgetItem的每个列项都填充了QComboBox。在

假设我创建了一个QTreeWidgetItem

tree=QtGui.QTreeWidget()
treeItem=QtGui.QTreeWidgetItem()
tree.addTopLevelItem(treeItem) 

for i in range(10):
    tree.setItemWidget(item, i, QtGui.QComboBox())

现在,如果我注释掉tree.addTopLevelItem(treeItem)则不会将组合框添加到qtreewigetItem中。换句话说,我必须将QTreeWidgetItem添加到树中,以便能够将QComboBoxes添加到{}。但是在创建QTreeWidgetItem时,我不知道它是否是topLevelItem' or if it will be added to another topLevelItem as a child item using.appendRow()`方法。在

我是否应该继续将此项作为顶层分配给树,然后将其作为子项重新分配?我应该使用什么方法使一个顶级项成为另一个顶级项的子项?在


Tags: 方法intreeforitem顶级子项qtgui
1条回答
网友
1楼 · 发布于 2024-07-03 06:32:26

它有很多方法可以在QTreeWidget中创建数据。在我最喜欢的创建方法中,我使用了QtGui.QTreeWidgetItem的构造函数将它的根项与out usingQTreeWidget.addTopLevelItem链接起来,并建议不要使用它。在

像这样的例子

myQTreeWidget = QtGui.QTreeWidget()
listsHeader = ['A', 'B', 'C']
myQTreeWidget.setHeaderItem(QtGui.QTreeWidgetItem(listsHeader))
dataQTreeWidgetItem = QtGui.QTreeWidgetItem(myQTreeWidget) # assgin QTreeWidget
for i in range(len(listsHeader)):
    dataQTreeWidgetItem.setText(0, 'INDEX ' + str(i)) # Test text in column
    myQTreeWidget.setItemWidget(dataQTreeWidgetItem, i, QtGui.QComboBox())

参考http://pyqt.sourceforge.net/Docs/PyQt4/qtreewidgetitem.html#QTreeWidgetItem-3


编辑时间:2014年7月8日0:50 在列表中添加页眉。在


谨致问候

相关问题 更多 >