如何更改 QTreeView 小部件中的图标
How can i change icons in QTreeView widget
如何更改这些图标?我在 treeView 设置中找不到更改它的道具。
Qt中有QTreeView::drawBranches函数。使用此功能,您可以使用指定的 QPainter
:
在树项的左侧绘制任意图标
void QTreeView::drawBranches(QPainter *painter, const QRect &rect,
const QModelIndex &index) const
另一个选项是自定义样式表,如 documentation 中所述。使用这些样式表,您可以轻松地将所需图像添加为图标。
以上文档link提供了此类自定义的示例:
QTreeView::branch:has-siblings:!adjoins-item {
border-image: url(vline.png) 0;
}
QTreeView::branch:has-siblings:adjoins-item {
border-image: url(branch-more.png) 0;
}
QTreeView::branch:!has-children:!has-siblings:adjoins-item {
border-image: url(branch-end.png) 0;
}
QTreeView::branch:has-children:!has-siblings:closed,
QTreeView::branch:closed:has-children:has-siblings {
border-image: none;
image: url(branch-closed.png);
}
QTreeView::branch:open:has-children:!has-siblings,
QTreeView::branch:open:has-children:has-siblings {
border-image: none;
image: url(branch-open.png);
}
因此,他们得到以下结果:
如何更改这些图标?我在 treeView 设置中找不到更改它的道具。
Qt中有QTreeView::drawBranches函数。使用此功能,您可以使用指定的 QPainter
:
void QTreeView::drawBranches(QPainter *painter, const QRect &rect,
const QModelIndex &index) const
另一个选项是自定义样式表,如 documentation 中所述。使用这些样式表,您可以轻松地将所需图像添加为图标。
以上文档link提供了此类自定义的示例:
QTreeView::branch:has-siblings:!adjoins-item {
border-image: url(vline.png) 0;
}
QTreeView::branch:has-siblings:adjoins-item {
border-image: url(branch-more.png) 0;
}
QTreeView::branch:!has-children:!has-siblings:adjoins-item {
border-image: url(branch-end.png) 0;
}
QTreeView::branch:has-children:!has-siblings:closed,
QTreeView::branch:closed:has-children:has-siblings {
border-image: none;
image: url(branch-closed.png);
}
QTreeView::branch:open:has-children:!has-siblings,
QTreeView::branch:open:has-children:has-siblings {
border-image: none;
image: url(branch-open.png);
}
因此,他们得到以下结果: