考虑下面的完全展开的玩具树,在这里我做{{CD1}}当前根:
from PyQt5 import QtWidgets
class MainWindow(QtWidgets.QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.setMinimumHeight(300)
self.setMinimumWidth(100)
my_tree = QtWidgets.QTreeWidget(self)
my_tree.resize(100, 300)
alpha = QtWidgets.QTreeWidgetItem(my_tree, ['Alpha'])
beta = QtWidgets.QTreeWidgetItem(my_tree, ['Beta'])
alpha.addChild(QtWidgets.QTreeWidgetItem(['one']))
alpha.addChild(QtWidgets.QTreeWidgetItem(['two']))
beta.addChild(QtWidgets.QTreeWidgetItem(['first']))
beta.addChild(QtWidgets.QTreeWidgetItem(['second']))
my_tree.expandAll()
my_tree.setCurrentItem(my_tree.topLevelItem(0))
self.show()
app = QtWidgets.QApplication([])
window = MainWindow()
app.exec_()
如何使Alpha
(即one
)的第一个子项成为当前和选定的项,同时也只扩展Beta
而不是两个根
可以使用setExpanded()展开或折叠项:
我刚刚注意到您的代码中有
my_tree.expandAll()
。如果要折叠其中一个项目,请在.expandAll()
之后使用item.setExpanded(False)
要将alpha中的第一个子项设置为选定项,请使用:
在代码中放置它们的位置:
要在选择更改时运行函数,请尝试以下代码,它将打印所选项目或子项的文本(将其置于self.show之前):
相关问题 更多 >
编程相关推荐