📅  最后修改于: 2023-12-03 15:33:51.875000             🧑  作者: Mango
在PyQt5中,ComboBox(下拉框)是一种非常常用的用户界面元素。ComboBox 提供了一个下拉列表,用户可以从中选择一个选项。本文将演示如何在PyQt5中创建一个ComboBox,并设置下拉框的样式:可编辑和按下时不同的边框大小。
当ComboBox是可编辑的,用户可以手动输入内容,而不是从列表中选择一个选项。下面的代码演示如何创建可编辑的 ComboBox。
from PyQt5.QtWidgets import QApplication, QComboBox, QVBoxLayout, QWidget
app = QApplication([])
# 创建ComboBox
combo_box = QComboBox()
# 设置ComboBox为可编辑
combo_box.setEditable(True)
# 添加选项
combo_box.addItems(["Option 1", "Option 2", "Option 3"])
# 创建布局
layout = QVBoxLayout()
# 将ComboBox添加到布局中
layout.addWidget(combo_box)
# 创建窗口
window = QWidget()
window.setLayout(layout)
window.show()
app.exec_()
上述代码创建了一个可编辑的 ComboBox,并在ComboBox中添加了三个选项 - “Option 1”, “Option 2” 和 “Option 3”。
在有些情况下,设置ComboBox的边框大小是有必要的。例如,当用户按下 ComboBox 时,我们可能需要增加边框大小以更好地突出选定状态。下面的代码演示了如何设置ComboBox在按下时的边框大小。
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QComboBox, QVBoxLayout, QWidget
app = QApplication([])
# 创建ComboBox
combo_box = QComboBox()
# 添加选项
combo_box.addItems(["Option 1", "Option 2", "Option 3"])
# 创建布局
layout = QVBoxLayout()
# 将ComboBox添加到布局中
layout.addWidget(combo_box)
# 创建样式表
style_sheet = """
QComboBox {
border: 1px solid #ccc;
border-radius: 2px;
padding: 1px 10px 1px 3px;
}
QComboBox:pressed {
border: 2px solid #000;
padding: 0px 9px 0px 2px;
}"""
# 设置样式表
combo_box.setStyleSheet(style_sheet)
# 创建窗口
window = QWidget()
window.setLayout(layout)
window.show()
app.exec_()
在上面的代码中,我们使用样式表设置了 ComboBox 的边框大小。在样式表中,我们为ComboBox定义了两个状态:默认和按下。默认状态下,边框大小为 1px,当按下 ComboBox 时,边框大小为 2px。
这就是如何在 PyQt5 中创建 ComboBox,并设置它们的样式:可编辑和按下时不同的边框大小。希望这篇文章对你有所帮助。