PyQt5 – 如何制作圆形单选按钮

  • Post category:Python

PyQt5 是 Python 与 Qt5 的桥梁库,它将 PyQt5 对象映射为 Qt5 C ++ 对象,并将 PyQt5 的 Pythonic API 映射到 Qt5 API 中。PyQt5 是许多 Python 开发人员喜欢使用的工具之一,因为它可以使用户高效地制作图形用户界面(GUI)。

本文将详细讲解 PyQt5 如何制作圆形单选按钮的使用攻略,让大家轻松掌握该技能。

1. 安装 PyQt5

在使用 PyQt5 制作圆形单选按钮之前,需要先安装 PyQt5 库。可以通过 pip 工具安装,命令如下:

pip install PyQt5

2. 制作圆形单选按钮

制作圆形单选按钮需要使用 PyQt5.QtWidgets 模块中的 QRadioButton 类。QRadioButton 是单选框控件中的一种,可以让用户从一个选项中选择一个。以下是用于创建简单圆形单选按钮的示例代码:

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QRadioButton, QVBoxLayout

class RadioBtnDemo(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.setGeometry(400, 300, 300, 100)
        self.setWindowTitle('PyQt5 RadioBtn')

        self.rbtn1 = QRadioButton('RadioButton 1', self)
        self.rbtn1.setChecked(True)
        self.rbtn2 = QRadioButton('RadioButton 2', self)
        self.rbtn3 = QRadioButton('RadioButton 3', self)

        vbox = QVBoxLayout()
        vbox.addWidget(self.rbtn1)
        vbox.addWidget(self.rbtn2)
        vbox.addWidget(self.rbtn3)

        self.setLayout(vbox)

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

运行上述代码可以看到一个带有三个圆形单选按钮的窗口,分别是 “RadioButton 1″、”RadioButton 2” 和 “RadioButton 3″。

3. 使用样式表美化圆形单选按钮

要让单选框看起来更好,可以使用样式表(Qt Style Sheet)进行美化。类似 CSS,样式表可以应用于 PyQt5 窗口控件中的所有元素,并可以定制圆角、背景颜色、文本颜色等等。以下是一个简单的示例,显示如何在 PyQt5 中使用 QRadioButton 控件和样式表:

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QRadioButton, QVBoxLayout

class StyleRadioBtnDemo(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.setGeometry(400, 300, 300, 100)
        self.setWindowTitle('PyQt5 Style RadioBtn')

        self.rbtn1 = QRadioButton('RadioButton 1', self)
        self.rbtn1.setChecked(True)
        self.rbtn2 = QRadioButton('RadioButton 2', self)
        self.rbtn3 = QRadioButton('RadioButton 3', self)

        vbox = QVBoxLayout()
        vbox.addWidget(self.rbtn1)
        vbox.addWidget(self.rbtn2)
        vbox.addWidget(self.rbtn3)

        self.setLayout(vbox)

        # 设置样式表
        self.setStyleSheet("""
            QRadioButton {
                background-color: #fff;
                color: #444;
                border-radius: 15px;
                font-size: 16px;
                padding: 10px;
            }
            QRadioButton:checked {
                background-color: #90EE90;
                color: #fff;
            }
        """)

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

运行上述代码可以看到一个美化过的圆形单选框窗口,其中包括三个单选框,它们的颜色、圆角、字体大小等都已经设置好。

总结:

本文简单介绍了 PyQt5 如何制作圆形单选框,并分享了两个示例,希望能够帮助各位开发人员更好地掌握相关技术,更快地开发出高质量的应用程序。