📅  最后修改于: 2023-12-03 15:33:51.536000             🧑  作者: Mango
本文将介绍如何使用PyQt5创建一个组合框,当用户按下按钮时将其背景颜色设置为不可编辑的关闭状态。
from PyQt5.QtWidgets import QApplication, QWidget, QComboBox, QPushButton
from PyQt5.QtGui import QColor
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 创建组合框
self.cb = QComboBox(self)
self.cb.move(50, 50)
self.cb.addItem('Option 1')
self.cb.addItem('Option 2')
self.cb.addItem('Option 3')
# 创建按钮
btn = QPushButton('Set background color', self)
btn.move(50, 100)
btn.clicked.connect(self.setBackground)
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('Example')
self.show()
def setBackground(self):
# 当按钮按下时,将组合框的背景颜色设置为不可编辑的关闭状态
self.cb.setEditable(False)
self.cb.setStyleSheet('background-color: #d3d3d3; color: black;')
initUI
方法中创建了一个组合框 self.cb
和一个按钮 btn
,并将它们添加到窗口中。setBackground
方法中,当按钮按下时,将组合框的可编辑状态设置为 False,并将其背景颜色设置为灰色。运行程序,你应该可以看到一个窗口,其中包含一个组合框和一个按钮。当你按下按钮时,组合框的背景颜色将变为灰色,并且不再可编辑。
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
这是完整的程序代码。