📌  相关文章
📜  PyQt5 - 按下时将背景颜色设置为不可编辑的关闭状态组合框(1)

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

PyQt5 - 按下时将背景颜色设置为不可编辑的关闭状态组合框

本文将介绍如何使用PyQt5创建一个组合框,当用户按下按钮时将其背景颜色设置为不可编辑的关闭状态。

环境要求
  • Python 3.x
  • 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_())

这是完整的程序代码。