ZBLOG

QStandardItem *rootItem = model->invisibleRootItem(); rootItem->icon(); 怎么设置图片

要为 QStandardItem 的根节点(或者任何节点)设置图标,您需要使用 setIcon() 方法。在您的代码示例中,如果您想为根节点设置图标,可以如下操作:

修改后的代码片段

在创建模型并添加项的部分,直接在设置根节点之后,为其调用 setIcon()

  1. // 创建模型
  2. QStandardItemModel *model = new QStandardItemModel();
  3. // 设置标题
  4. model->setHorizontalHeaderLabels(QStringList() << "Name");
  5. // 添加根节点
  6. QStandardItem *rootItem = model->invisibleRootItem();
  7. rootItem->setIcon(QIcon(":/icons/root_icon.png")); // 设置根节点图标
  8. // 创建第一个子节点
  9. QStandardItem *item1 = new QStandardItem("Node 1");
  10. item1->setIcon(QIcon(":/icons/node_icon.png")); // 设置子节点的图标
  11. // 创建子节点
  12. QStandardItem *child1 = new QStandardItem("Child 1");
  13. child1->setIcon(QIcon(":/icons/child_icon.png")); // 子节点图标
  14. item1->appendRow(child1); // 将子节点添加到父节点
  15. rootItem->appendRow(item1); // 将第一个节点添加到根
  16. // 创建第二个子节点
  17. QStandardItem *item2 = new QStandardItem("Node 2");
  18. item2->setIcon(QIcon(":/icons/node_icon.png"));
  19. rootItem->appendRow(item2); // 将第二个子节点添加到根

注意事项

  • 确保路径正确:确保指定的图标文件路径(如 ":/icons/root_icon.png")在您的资源文件中是有效的,并且这些图片已经被正确地添加到项目资源中。
  • 刷新视图:如果在运行时更改了图标,可以调用视图的更新方法,但通常直接设置后,QTreeView 会自动更新。

通过这种方式,您可以为树视图中的任何级别的项设置自定义图标。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=22244

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?