python – 绘制QTreeViewItem扩展按钮和兄弟/子行

我正在使用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文件名是您要使用的图像.

点赞