2

我继承了一个使用 Qt 作为 GUI 库的主题应用程序。除其他外,它有一个关键字树,它是使用 QTreeView 构建的,它以标准方式对文件夹窗格中的选定项目进行 WRT:

IE。如果选择的所有项目都分配了关键字“植物”,则选中“植物”复选框。如果没有任何项目具有所述关键字,则未选中复选框,并且如果选择的某些项目已分配关键字“植物”,则该复选框将变灰。

问题是,虽然上述模型工作正常,但当复选框变灰(处于“不确定”状态)时,它会从屏幕上消失:

不可见的复选框

该复选框仍然存在(用户可以单击它并按预期工作)但它是不可见的。

我怎样才能解决这个问题?

...并且因为我怀疑这是主题的问题,所以我在此处粘贴了主题中的相关(恕我直言)部分:

QTreeView::indicator{
    border: 0px solid red;
    width: 14px;
    height: 16px;
}

QTreeView::indicator:unchecked{
     image: url(UI:checkbox_unchecked.png);
 }

QTreeView::indicator:unchecked:disabled{
     image: url(UI:checkbox_unchecked_disabled.png);
 }

QTreeView::indicator:checked{
     image: url(UI:checkbox_checked.png);
 }

QTreeView::indicator:checked:disabled{
     image: url(UI:checkbox_checked_disabled.png);
}

QTreeView#UIGroup_TreeView{
    background-color: rgb(40, 40, 40);
    alternate-background-color:  rgb(50, 50, 50);
    border: 0px solid black;
}

有什么帮助吗?

4

1 回答 1

2

正如您在文档中看到的

QCheckBox 具有不确定的状态,您的样式没有为其定义图像。

您应该为这些创建图像:

QTreeView::indicator:indeterminate{
     image: url(...);
 }

QTreeView::indicator:indeterminate:disabled{
     image: url(...);
}
于 2013-07-22T07:28:00.150 回答