可以使用QTreeWidget的setExpanded函数设置节点的展开状态,具体步骤如下:
- 在创建完QTreeWidget并添加了所有节点后,遍历所有根节点,并将其展开:
for(int i=0; i<treeWidget->topLevelItemCount(); ++i) {
treeWidget->expandItem(treeWidget->topLevelItem(i));
}
- 如果还需要默认展开某些子节点,则可以在上述循环内部再遍历子节点,将需要展开的子节点设置为展开状态:
QTreeWidgetItem* root = treeWidget->topLevelItem(i);
for(int j=0; j<root->childCount(); ++j) {
QTreeWidgetItem* child = root->child(j);
if(child->text(0) == "default_expanded_child") {
treeWidget->expandItem(child);
}
}
这样就可以设置QTreeWidget的默认展开状态了。