📌  相关文章
📜  PyQt5 – ComboBox 被按下时添加边框(1)

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

PyQt5 – ComboBox 被按下时添加边框

简介

在 PyQt5 中,ComboBox 是一个常用的用户界面元素,它提供了一个下拉菜单供用户选择选项。本文将介绍如何在 ComboBox 被按下时添加边框的方法。

方法
步骤1:导入所需的模块

首先,需要导入 PyQt5 的相关模块来创建用户界面和处理事件。

from PyQt5.QtWidgets import QApplication, QComboBox, QWidget
from PyQt5.QtCore import Qt
步骤2:创建窗口类

接下来,我们创建一个窗口类来显示 ComboBox 和添加边框。

class Window(QWidget):
    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):
        self.setGeometry(100, 100, 300, 200)

        self.combo_box = QComboBox(self)
        self.combo_box.addItem("Option 1")
        self.combo_box.addItem("Option 2")
        self.combo_box.addItem("Option 3")
        self.combo_box.activated.connect(self.addBorder)

    def addBorder(self):
        self.combo_box.setStyleSheet("border: 2px solid red;")

在以上代码中,我们创建了一个继承自 QWidget 的窗口类。在 initUI 方法中,我们设置了窗口的大小和位置,并创建了一个 ComboBox,并在 ComboBox 的 activated 信号连接到 addBorder 方法上。

addBorder 方法用来添加边框。通过设置 self.combo_box.setStyleSheet("border: 2px solid red;"),我们为 ComboBox 添加了一个 2 像素宽的红色边框。

步骤3:运行应用程序

最后,我们需要创建一个 QApplication 实例,并运行应用程序。

if __name__ == '__main__':
    app = QApplication([])
    window = Window()
    window.show()
    app.exec()
完整代码
from PyQt5.QtWidgets import QApplication, QComboBox, QWidget
from PyQt5.QtCore import Qt


class Window(QWidget):
    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):
        self.setGeometry(100, 100, 300, 200)

        self.combo_box = QComboBox(self)
        self.combo_box.addItem("Option 1")
        self.combo_box.addItem("Option 2")
        self.combo_box.addItem("Option 3")
        self.combo_box.activated.connect(self.addBorder)

    def addBorder(self):
        self.combo_box.setStyleSheet("border: 2px solid red;")


if __name__ == '__main__':
    app = QApplication([])
    window = Window()
    window.show()
    app.exec()

以上代码在 ComboBox 被按下时会为其添加一个红色的 2 像素宽边框。你可以根据需要修改边框的颜色、宽度和样式。

希望这篇文章对你理解如何在 PyQt5 中为 ComboBox 添加边框有所帮助!