📌  相关文章
📜  PyQt5 – 按下时将皮肤设置为 Checked CheckBox(1)

📅  最后修改于: 2023-12-03 14:45:50.993000             🧑  作者: Mango

PyQt5 – 按下时将皮肤设置为 Checked CheckBox

在 PyQt5 中,我们可以使用 QCheckBox 组件来创建复选框。当复选框被选中时,我们可以根据需要在用户界面中更改外观或执行某些操作。 在本文中,我们将学习如何在按下复选框时更改其外观。

准备工作

在开始进行示例代码之前,我们需要对我们的 PyQt5 应用程序进行一些准备工作。 首先,我们需要导入 PyQt5 库以及相应的模块:

from PyQt5.QtWidgets import QApplication, QWidget, QCheckBox
from PyQt5.QtCore import Qt

然后,我们需要创建一个 QWidget 对象和 QCheckBox 对象:

class App(QWidget):
    def __init__(self):
        super().__init__()
        self.title = 'PyQt5 – 按下时将皮肤设置为 Checked CheckBox'
        self.left = 10
        self.top = 10
        self.width = 320
        self.height = 200
        self.initUI()

    def initUI(self):
        self.setWindowTitle(self.title)
        self.setGeometry(self.left, self.top, self.width, self.height)

        self.checkBox = QCheckBox('选我!', self) 
        self.checkBox.move(50,50) 
        self.checkBox.stateChanged.connect(self.onChange)

在上面的代码中,我们创建了一个名为 “App” 的类,继承自 QWidget。在类的 init() 方法中,我们设置了应用程序的标题、左上角的评估值、宽度和高度,并调用了 initUI() 函数。

在 initUI() 函数中,我们创建了一个 QCheckBox 对象,并在窗口中添加了一个文本标签。

我们还将与 stateChanged 信号连接的 onChange() 函数添加到复选框。

处理更改

接下来,让我们来编写 onChange() 函数。 在 onChange() 函数中,我们将根据复选框是否选中来更改应用程序的皮肤。在这个例子中,我们仅更改了应用程序的背景颜色。

    def onChange(self, state):
        if state == Qt.Checked:
            self.setStyleSheet("background-color: green")
        else:
            self.setStyleSheet("")

在上面的代码中,我们使用了 PyQt5 的 setStyleSheet() 函数来更改 QGraphicsView 的外表。 如果复选框被选中,则我们将应用程序的背景颜色更改为绿色。 如果未选中,则我们将应用程序恢复为默认状态。

完整代码
from PyQt5.QtWidgets import QApplication, QWidget, QCheckBox
from PyQt5.QtCore import Qt

class App(QWidget):

    def __init__(self):
        super().__init__()
        self.title = 'PyQt5 – 按下时将皮肤设置为 Checked CheckBox'
        self.left = 10
        self.top = 10
        self.width = 320
        self.height = 200
        self.initUI()

    def initUI(self):
        self.setWindowTitle(self.title)
        self.setGeometry(self.left, self.top, self.width, self.height)

        self.checkBox = QCheckBox('选我!', self) 
        self.checkBox.move(50,50) 
        self.checkBox.stateChanged.connect(self.onChange)

    def onChange(self, state):
        if state == Qt.Checked:
            self.setStyleSheet("background-color: green")
        else:
            self.setStyleSheet("")

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = App()
    ex.show()
    sys.exit(app.exec_())

在上面的代码中,我们创建了一个名为 “App” 的类,继承自 QWidget。我们还创建了一个 QCheckBox,将其添加到窗口,并将与 stateChanged 信号连接的 onChange() 函数添加到复选框。

在 onChange() 函数中,我们根据复选框的状态更改了应用程序的皮肤。 我们使用 PyQt5 的 setStyleSheet() 函数来更改 QGraphicsView 的外表。

最后,我们创建一个 QApplication 对象,实例化 App 类,并显示对象。 最后,我们调用 sys.exit() 函数并将其返回值传递给 app.exec_() 函数,以保持程序在运行状态。

结论

本文中介绍了如何在 PyQt5 中更改外观,特别是如何在 QCheckBox 选中时更改皮肤。 在你的 PyQt5 应用程序中使用这些技术,你可以更轻松地为你的用户界面添加更多的交互性和个性化。