pyqt5 qcombobox如何设置下拉框的样式表
时间: 2023-07-04 18:09:36 浏览: 286
可以使用 `QComboBox::drop-down` 伪元素来设置下拉框的样式表。
下面是一个示例代码:
```python
from PyQt5.QtWidgets import QApplication, QComboBox, QWidget
from PyQt5.QtCore import Qt
app = QApplication([])
window = QWidget()
combo_box = QComboBox(window)
combo_box.setGeometry(50, 50, 150, 30)
combo_box.addItems(['Option 1', 'Option 2', 'Option 3'])
style_sheet = """
QComboBox {
border: 2px solid gray;
border-radius: 8px;
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;
border-top-right-radius: 8px;
border-bottom-right-radius: 8px;
background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #f6f7fa, stop:1 #dadbde);
}
QComboBox::down-arrow {
image: url(down_arrow.png);
width: 12px;
height: 12px;
}
"""
combo_box.setStyleSheet(style_sheet)
window.show()
app.exec_()
```
在这个示例中,我们定义了一个样式表,设置了 `QComboBox` 的边框、圆角、内边距和最小宽度。我们还定义了 `QComboBox::drop-down` 伪元素,设置了下拉箭头的样式和背景渐变色。最后,我们还定义了 `QComboBox::down-arrow` 伪元素,设置了下拉箭头的图像。
你可以根据自己的需要修改这个样式表。
阅读全文