pyqt5 qcombobox如何设置下拉箭头以及下拉区域的样式
时间: 2024-02-05 19:10:31 浏览: 274
可以通过设置样式表来实现QComboBox下拉箭头以及下拉区域的样式。
下面是一个例子,展示如何设置下拉箭头颜色为红色,下拉区域的背景色为灰色:
```python
from PyQt5.QtWidgets import QApplication, QComboBox
from PyQt5.QtGui import QColor, QPainter
from PyQt5.QtCore import Qt
class CustomComboBox(QComboBox):
def __init__(self):
super().__init__()
self.setStyleSheet("""
QComboBox {
border: 1px solid gray;
border-radius: 3px;
padding: 1px 18px 1px 3px;
min-width: 6em;
}
QComboBox::drop-down {
subcontrol-origin: padding;
subcontrol-position: top right;
width: 20px;
border-left-width: 1px;
border-left-color: darkgray;
border-left-style: solid;
}
QComboBox::down-arrow {
image: url('arrow_down.png');
width: 12px;
height: 12px;
}
QComboBox QAbstractItemView {
background-color: gray;
color: white;
selection-color: white;
selection-background-color: red;
}
""")
if __name__ == '__main__':
app = QApplication([])
combo = CustomComboBox()
combo.addItems(['item1', 'item2', 'item3'])
combo.show()
app.exec_()
```
其中,`QComboBox::down-arrow`用于设置下拉箭头的样式,可以通过设置image属性来指定图片。`QComboBox QAbstractItemView`用于设置下拉列表的样式,可以通过设置background-color、color、selection-color和selection-background-color等属性来实现。
阅读全文