4

如何更改 Qcombobox 向下箭头图像?现在我正在使用这个 QSS 代码,但这不起作用,我无法删除向下箭头边框。

QComboBox
{
    border: 0px;
}

QComboBox::down-arrow
{   
    border: 0px;
    background-repeat: no-repeat;
    background-position: center center;
    background-image-width: 50px;
    border-image: url(./select-BG.png);
    heidth:50px;
    width:100px;
}

这是屏幕截图:

图片

4

2 回答 2

8

这是一个很晚的答案,但我认为我在 Qt 论坛的某个地方找到了解决方案。

将边框设置为 0px 时,组合框箭头的整个样式似乎都被替换了。所以我使用QComboBox::drop-down将边框设置为 0x,然后使用QComboBox::down-arrow定义自定义箭头。下面的代码显示了对无法color正确更改文本属性的奇怪错误的附加修复。

QComboBox {
    color: black;
    font: 14px;
    padding: 1px 0px 1px 3px; /* This (useless) line resolves a bug with the font color */
}

QComboBox:focus {
    color: red;
}

QComboBox::drop-down 
{
    border: 0px; /* This seems to replace the whole arrow of the combo box */
}

/* Define a new custom arrow icon for the combo box */
QComboBox::down-arrow {
    image: url(Resources/DropDownArrow.png);
    width: 14px;
    height: 14px;
}

我希望有人可以使用此信息并使其工作:-)

于 2015-12-09T08:49:03.840 回答
1

箭头位于样式由子控件控制的按钮上::drop-down。因此,要删除边框,您可以使用:

QComboBox::drop-down 
{
    border: 0px;
}
于 2012-07-14T22:22:31.490 回答