我需要一个简单的方法来选择基于PyQt的name的QtreeWidgetItem。例如,我希望将名为"five"的项设置为选中。
这是我的设置的一个简单示例:
import sys
from PyQt4 import QtCore, QtGui
app = QtGui.QApplication([])
tree=QtGui.QTreeWidget()
itemsList = ['one']
subItemsList = ['four', 'five', 'six']
for i in itemsList:
parentItem = QtGui.QTreeWidgetItem()
tree.addTopLevelItem(parentItem)
parentItem.setText(0, i)
for z in subItemsList:
childItem = QtGui.QTreeWidgetItem(parentItem)
childItem.setText(0, z)
parentItem.setExpanded(1)
indexOfChildItem = parentItem.indexOfChild(childItem)
tree.show()
sys.exit(app.exec_())我希望当程序启动名称为"five"的subItem时被选中
你能在这方面帮我吗?提前谢谢你。
发布于 2016-01-14 17:33:15
这是一个可行的解决方案:
import sys
from PyQt4 import QtCore, QtGui
from PyQt4.QtGui import QTreeWidgetItemIterator
app = QtGui.QApplication([])
tree=QtGui.QTreeWidget()
itemsList = ['one']
subItemsList = ['four', 'five', 'six']
for i in itemsList:
parentItem = QtGui.QTreeWidgetItem()
tree.addTopLevelItem(parentItem)
parentItem.setText(0, i)
for z in subItemsList:
childItem = QtGui.QTreeWidgetItem(parentItem)
childItem.setText(0, z)
parentItem.setExpanded(1)
indexOfChildItem = parentItem.indexOfChild(childItem)
iterator = QTreeWidgetItemIterator(tree, QTreeWidgetItemIterator.All)
while iterator.value():
item = iterator.value()
if item.text(0) == "five":
tree.setCurrentItem(item, 1)
iterator +=1
tree.show()
sys.exit(app.exec_()) https://stackoverflow.com/questions/34765920
复制相似问题