鼠标悬停时如何更改 QComboBox 文本背景颜色(QSS)?
how to change QComboBox text background color when mouse hover it(QSS)?
我需要在鼠标悬停时将 QComboBox 背景更改为红色;但是在我的 qss 样式中,QComboBox drop-down
按钮变为红色并且下拉菜单看起来很奇怪(需要保持系统默认设置),它看起来像凸起的样式,这不是我想要的。
简单的qss风格是:
QComboBox:hover {
background: red;
}
我试的时候是这样的
试一试:
import sys
from PyQt5 import QtWidgets
class Main(QtWidgets.QWidget):
def __init__(self):
super(Main, self).__init__()
sheets = [str(i) for i in range(1, 10)]
combo = QtWidgets.QComboBox()
combo.addItems(sheets)
layout = QtWidgets.QVBoxLayout()
layout.addWidget(combo)
self.setLayout(layout)
StyleSheet = """
QComboBox {
border: 1px solid gray;
border-radius: 3px;
padding: 1px 18px 1px 3px;
min-width: 6em;
}
QComboBox:hover {
background: red;
color: #fff;
}
"""
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
app.setStyleSheet(StyleSheet)
main = Main()
main.show()
sys.exit(app.exec_())
我需要在鼠标悬停时将 QComboBox 背景更改为红色;但是在我的 qss 样式中,QComboBox drop-down
按钮变为红色并且下拉菜单看起来很奇怪(需要保持系统默认设置),它看起来像凸起的样式,这不是我想要的。
简单的qss风格是:
QComboBox:hover {
background: red;
}
我试的时候是这样的
试一试:
import sys
from PyQt5 import QtWidgets
class Main(QtWidgets.QWidget):
def __init__(self):
super(Main, self).__init__()
sheets = [str(i) for i in range(1, 10)]
combo = QtWidgets.QComboBox()
combo.addItems(sheets)
layout = QtWidgets.QVBoxLayout()
layout.addWidget(combo)
self.setLayout(layout)
StyleSheet = """
QComboBox {
border: 1px solid gray;
border-radius: 3px;
padding: 1px 18px 1px 3px;
min-width: 6em;
}
QComboBox:hover {
background: red;
color: #fff;
}
"""
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
app.setStyleSheet(StyleSheet)
main = Main()
main.show()
sys.exit(app.exec_())