QStandardItem先设置图标再插入QTreeView会影响插入性能

所有的界面显示都交代理去绘制,否则会影响插入性能;一开始打算将类型图标通过QStandardItem创建时传给QStandardItem,在插入到model中,后来发现这样会降低插入的性能;

pItem = new QStandardItem(QIcon(":/foldericon.svg"), info.value("name").toString());

改成用代理QStyledItemDelegate的paint函数去绘制图标之后,插入性能提高了10倍;10万条每秒;所以所有的显示都通过代理去绘制实现;这样会有助于提高性能;

//绘制案件的图标

    QRect rectItem = option.rect;

    QIcon icon(":/analysisCenter/Resources/analysisCenter/caseicon.svg"); // 替换为你的图标路径

    QRect iconRect(rectItem.x() + 20, rectItem.y() + 8, 24, 24); // 设置图标大小和位置

    icon.paint(painter, iconRect);

posted @ 2024-09-14 17:30  一字千金  阅读(13)  评论(0编辑  收藏  举报