组合框中的文本重叠图标
Text overlapping icon in combobox
我有一个包含项目所有样式的 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;
}
但问题是它也影响了没有图标的那个,使我的组合框下拉列表的左侧空白 space。
有谁知道如何在有图标的情况下让它向左移动,或者访问该图标并让它花费一些时间 space???
我已经找到了解决此问题的方法,因为 PySide 似乎无法仅使用 qss。
我所做的是从我的 qss 文件中抑制它:
QComboBox::item
{
height: 10px;
margin: 5px 0 0 5px;
padding: 6px 0 5px 20px;
}
并通过将上述样式添加到每个需要它的组合框来修改我的 ui 文件。
我有一个包含项目所有样式的 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;
}
但问题是它也影响了没有图标的那个,使我的组合框下拉列表的左侧空白 space。
有谁知道如何在有图标的情况下让它向左移动,或者访问该图标并让它花费一些时间 space???
我已经找到了解决此问题的方法,因为 PySide 似乎无法仅使用 qss。
我所做的是从我的 qss 文件中抑制它:
QComboBox::item
{
height: 10px;
margin: 5px 0 0 5px;
padding: 6px 0 5px 20px;
}
并通过将上述样式添加到每个需要它的组合框来修改我的 ui 文件。