PyQt5 – 为单选按钮添加动作

  • Post category:Python

Python的PyQt5库是一个用于创建GUI应用的工具包,它提供了丰富的组件和功能。本篇文章将详细介绍如何为单选按钮添加动作。

1. 准备工作

在开始使用PyQt5操作单选按钮前,需要先安装PyQt5。通过pip安装PyQt5的命令如下所示:

pip install PyQt5

安装完成后,就可以在Python代码中使用PyQt5了。

2. 创建单选按钮

在PyQt5中创建单选按钮的代码如下所示:

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

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

    def initUI(self):
        # 创建单选按钮
        rbtn1 = QRadioButton('Option 1')
        rbtn2 = QRadioButton('Option 2')
        rbtn3 = QRadioButton('Option 3')

        # 设置单选按钮布局
        vbox = QVBoxLayout()
        vbox.addWidget(rbtn1)
        vbox.addWidget(rbtn2)
        vbox.addWidget(rbtn3)

        # 将布局与窗口关联
        self.setLayout(vbox)

        self.setGeometry(300, 300, 300, 150)
        self.setWindowTitle('QRadioButton')
        self.show()

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

运行该代码将创建三个单选按钮,分别为’Option 1’、’Option 2’、’Option 3’。

3. 为单选按钮添加动作

在PyQt5中为单选按钮添加动作,需要使用clicked信号。在单选按钮被单击后,将执行与clicked信号关联的槽函数。

下面是一个示例代码,单选按钮被点击时,将输出相应的文字信息:

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

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

    def initUI(self):
        # 创建单选按钮
        rbtn1 = QRadioButton('Option 1', self)
        rbtn2 = QRadioButton('Option 2', self)
        rbtn3 = QRadioButton('Option 3', self)

        # 设置单选按钮布局
        vbox = QVBoxLayout()
        vbox.addWidget(rbtn1)
        vbox.addWidget(rbtn2)
        vbox.addWidget(rbtn3)

        # 将布局与窗口关联
        self.setLayout(vbox)

        # 为单选按钮添加点击事件
        rbtn1.clicked.connect(self.onRadioButtonClicked)
        rbtn2.clicked.connect(self.onRadioButtonClicked)
        rbtn3.clicked.connect(self.onRadioButtonClicked)

        self.setGeometry(300, 300, 300, 150)
        self.setWindowTitle('QRadioButton')
        self.show()

    def onRadioButtonClicked(self):
        radioButton = self.sender()
        if radioButton.isChecked():
            print('Selected option is ' + radioButton.text())

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

运行以上代码后,单选按钮被选中后将在控制台中输出相应的文字信息。

至此,PyQt5中为单选按钮添加动作的完整攻略介绍完毕。