【发布时间】:2018-03-19 16:49:23
【问题描述】:
我无法在 PyQt 中更改 QCombobox 的突出显示颜色。我设法更改了实际输入框的突出显示颜色,但是当下拉菜单出现时它仍然是蓝色的。下图显示了到底发生了什么。调色板方法适用于 Linux,但不适用于 Windows(我目前使用的)。 我使用了 PyQt 调色板:
brush = QtGui.QBrush(QtGui.QColor(168, 168, 168))
brush.setStyle(QtCore.Qt.SolidPattern)
palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Highlight, brush)
self.comboBox_7.setPalette(palette)
在这里,我设法将实际框的突出显示颜色更改为灰色:
但这里的下拉突出显示仍然是蓝色的:
感谢所有帮助。
【问题讨论】:
-
调色板不会就地改变东西,所以你需要使用
setPalette(palette)。 -
@ekhumoro 对不起,这已经完成了,它仍然没有改变颜色,只有框的突出显示颜色(第一张图片)。将更新有问题的代码。
-
在 linux 上对我来说很好用。如果您在 windows 或 osx 上,有时会忽略调色板。您可能需要使用样式表。
-
@ekhumoro 一定是这样。我将如何使用样式表进行更改?我知道如何编辑样式表只是不确定如何编辑突出显示颜色。干杯
标签: python-3.x user-interface pyqt5 qpalette