pyqt5 将QComboBox改成圆角框 举个例子
时间: 2023-07-04 20:21:42 浏览: 140
pyqt5的QComboBox 使用模板的具体方法
好的,下面是一个简单的例子,演示如何将QComboBox改成圆角框:
```python
from PyQt5.QtWidgets import QApplication, QComboBox, QWidget
from PyQt5.QtCore import Qt
class ComboBox(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 创建QComboBox
self.combo = QComboBox(self)
self.combo.setGeometry(50, 50, 200, 30)
# 设置QComboBox的样式
self.combo.setStyleSheet('''
QComboBox {
border: 2px solid gray;
border-radius: 10px;
padding: 1px 18px 1px 3px;
min-width: 6em;
}
QComboBox::drop-down {
subcontrol-origin: padding;
subcontrol-position: top right;
width: 25px;
border-left-width: 1px;
border-left-color: darkgray;
border-left-style: solid;
border-top-right-radius: 10px;
border-bottom-right-radius: 10px;
}
QComboBox::down-arrow {
image: url(down_arrow.png);
}
''')
# 添加选项
self.combo.addItem('选项1')
self.combo.addItem('选项2')
self.combo.addItem('选项3')
self.setWindowTitle('QComboBox圆角框示例')
self.setGeometry(300, 300, 300, 150)
self.show()
if __name__ == '__main__':
app = QApplication([])
cb = ComboBox()
app.exec_()
```
在这个例子中,我们创建了一个继承自QWidget的ComboBox类,然后在initUI()方法中创建了一个QComboBox,并为其设置了样式。我们使用了QSS(Qt样式表)来设置QComboBox的样式,通过设置border-radius属性为10px,我们将QComboBox的边框变成了圆角。我们还设置了其他一些属性,如padding、border-left-width、border-left-color等,来使QComboBox看起来更加美观。最后,我们添加了一些选项,然后显示窗口。
阅读全文