python - 绘制 TreeViewItem 展开按钮和兄弟/子线

标签 python qt qt4 pyqt pyqt4

我正在使用 QTreeView 和 QItemDelegate 来重新实现大部分绘制例程。但是,展开/折叠按钮和同级/子线是由其他一些绘制例程自动绘制的。

什么在绘制它们,我该如何控制它?

编辑:

现在,Qt 按以下顺序绘制一个 QTreeView 项目:

[展开按钮] -- [复选框] -- [树项的其余部分]

我想按这个顺序画:

[复选框] -- [展开按钮] -- [树项的其余部分]

问题是我在 QItemDelegate 中的所有绘画都在展开按钮的右侧。

最佳答案

您可以使用 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 文件名是您要使用的图像。

关于python - 绘制 TreeViewItem 展开按钮和兄弟/子线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7288790/

相关文章:

python - Pandas 显示 excel 文件的额外未命名列

python - 如何从字符串元组列表中检索元组

html - 当我使用QDomDocument解析html数据时,如何保存“”?

c++ - TableView鼠标悬停显示工具提示

c++ - 如何返回一个 QUrl 是否重定向的 bool 值?

android - Qt/Necessitas - 合理的 QFileDialog 替换/皮肤?

c++ - 向 QStyleOptionButton 添加样式表和图标

python - PyInstaller 不导入队列

python - 如何在Kafka中发布字典?

c++ - 如何使 QT 小部件从其父小部件更新修改后的属性?