📌  相关文章
📜  PyQt5 ComboBox - 处于关闭状态时的不同边框颜色(1)

📅  最后修改于: 2023-12-03 15:03:56.721000             🧑  作者: Mango

PyQt5 ComboBox - 处于关闭状态时的不同边框颜色

在使用 PyQt5 中的 QComboBox 时,可以通过样式表来设置控件处于关闭状态时的边框颜色。

示例

下面是一个示例程序,展示了如何设置 ComboBox 的样式表来达到想要的效果。

from PyQt5.QtWidgets import QApplication, QComboBox, QVBoxLayout, QWidget

app = QApplication([])

combo = QComboBox()
combo.setStyleSheet("""
QComboBox {
    border: 2px solid gray;
    border-radius: 8px;
    padding: 1px 18px 1px 3px;
    min-width: 6em;
    font-size: 14px;
}
QComboBox::drop-down {
    subcontrol-origin: padding;
    subcontrol-position: top right;
    width: 30px;
    border-left-width: 1px;
    border-left-color: gray;
    border-left-style: solid;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
}
QComboBox::down-arrow {
    image: url(arrow.png);
}
QComboBox::down-arrow:on {
    top: 1px;
    left: 1px;
}
QComboBox::down-arrow:hover {
    background-color: lightgray;
}
QComboBox::drop-down:hover {
    background-color: lightgray;
}
""")

layout = QVBoxLayout()
layout.addWidget(combo)

widget = QWidget()
widget.setLayout(layout)
widget.show()

app.exec_()

在样式表中,可以看到一个 QComboBox::drop-down 选择器,它负责绘制 ComboBox 的下拉箭头部分,我们可以设置它的边框颜色来达到不同状态下的效果。

总结

这篇文章介绍了如何使用样式表来设置 PyQt5 ComboBox 处于关闭状态时的边框颜色。我们可以通过自定义样式表来实现更酷炫的外观,增强用户体验。