我有一个qss文件,其中包含项目的所有样式。在这个文件中,我定义了我不希望在组合框中看到任何指示符:
QComboBox::indicator{
background-color: transparent;
color: transparent;
selection-background-color: transparent;
selection-color: transparent;
}
这使指标变得透明,但文字左侧仍有一些奇怪的指示物。但是添加它会使它消失:
QComboBox::item:selected
{
/* If we don't specify a border we get an indicator reserved space to the left. (??) */
border: none;
background-color: @BG_SELECTED;
color: @FG_SELECTED;
}
现在它在没有图标的组合框中是完美的,文本被推到最左边,看起来很整洁。现在的问题是,当有图标时,文本也会被推到左侧。这意味着文本与图标重叠。 我通过这样做来修复它:
QComboBox::item
{
height: 10px;
margin: 5px 0 0 5px;
padding: 6px 0 5px 20px;
}
但问题是它也会影响没有图标的那个,在我的组合框下拉列表左侧留下一个白色空白区域。
有没有人知道如果有图标或者可以访问图标并让它占用一些空间,如何让它向左移动???
答案 0 :(得分:0)
我已经想出了一种方法来解决这个问题的解决方法,因为PySide似乎不能只使用qss。
我所做的就是从我的qss文件中删除它:
QComboBox::item
{
height: 10px;
margin: 5px 0 0 5px;
padding: 6px 0 5px 20px;
}
通过将上述样式添加到需要它的每个组合框来修改我的ui文件。