我正在使用QTreeView和QItemDelegate重新实现大部分绘制例程.但是,展开/折叠按钮和兄弟/子行由其他一些绘制例程自动绘制.
什么是绘制它们,我该如何控制它?
编辑:
现在,Qt按此顺序绘制了一个QTreeView项:
[展开按钮] – [复选框] – [其他树木的东西]
我想按此顺序绘制它:
[复选框] – [展开按钮] – [其他树木的东西]
问题是我在QItemDelegate中的所有绘画都在Expand按钮的右侧.
最佳答案 您可以使用
style sheet更改它们.这来自样式表参考中的
Customizing QTreeView示例:
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);
}
其中png文件名是您要使用的图像.