PyQt5 – 单选按钮的描述

  • Post category:Python

下面我来讲解一下关于Python中PyQt5模块中单选按钮的描述。

单选按钮的描述

在PyQt5中,可以通过QRadioButton类来创建单选按钮。单选按钮是一种复选控件,同时只能有一个被选中。下面是使用QRadioButton类描述单选按钮的一般步骤:

1. 创建单选按钮

下面是创建单选按钮的代码示例:

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

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

    def initUI(self):
        self.setWindowTitle('RadioButton Demo')
        self.resize(300, 200)

        self.radio_male = QRadioButton('男', self)
        self.radio_female = QRadioButton('女', self)

        vbox = QVBoxLayout()
        vbox.addWidget(self.radio_male)
        vbox.addWidget(self.radio_female)

        self.setLayout(vbox)

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

在上面的代码中,我们通过QRadioButton类创建了两个单选按钮:男和女。

2. 设置单选按钮状态

我们可以通过setChecked()方法来设置单选按钮的状态(被选中或未选中)。示例代码如下:

self.radio_male.setChecked(True)
self.radio_female.setChecked(False)

3. 获取单选按钮状态

我们可以通过isChecked()方法来获取单选按钮的状态(被选中或未选中)。示例代码如下:

is_male = self.radio_male.isChecked()
is_female = self.radio_female.isChecked()

以上就是关于Python中PyQt5模块中单选按钮的描述。下面让我们通过代码示例详细讲解一下单选按钮的使用方法。

示例说明

示例1:单选按钮的基本使用

在本示例中,我们通过QRadioButton类来创建两个单选按钮‘男’和‘女’,并在窗口中显示。当用户点击一个单选按钮时,该单选按钮被选中,另一个单选按钮则变为未选中状态。

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

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

    def initUI(self):
        self.setWindowTitle('RadioButton Demo')
        self.resize(300, 200)

        self.radio_male = QRadioButton('男', self)
        self.radio_female = QRadioButton('女', self)

        vbox = QVBoxLayout()
        vbox.addWidget(self.radio_male)
        vbox.addWidget(self.radio_female)

        self.setLayout(vbox)

        self.radio_male.clicked.connect(self.radio_button_clicked)
        self.radio_female.clicked.connect(self.radio_button_clicked)

    def radio_button_clicked(self):
        radio_button = self.sender()
        if radio_button == self.radio_male:
            print('男')
        elif radio_button == self.radio_female:
            print('女')

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

在上面的代码中,我们创建了一个RadioButtonDemo类,其中包含了initUI()方法来创建两个单选按钮并将它们添加到垂直布局中。我们通过clicked信号和connect()方法来绑定单选按钮的点击事件。在radio_button_clicked()方法中,我们通过sender()方法获取用户单击的单选按钮,并根据不同的情况分别输出‘男’或‘女’字样。

示例2:单选按钮的状态设置和获取

在本示例中,我们首先创建两个单选按钮’是‘和’否‘,然后将单选按钮’是‘设置为选中状态。当用户点击单选按钮时,我们通过isChecked()方法来获取两个单选按钮的状态,并将状态显示在标签控件中。

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

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

    def initUI(self):
        self.setWindowTitle('RadioButton Demo')
        self.resize(300, 200)

        self.radio_yes = QRadioButton('是', self)
        self.radio_no = QRadioButton('否', self)

        self.radio_yes.setChecked(True)

        self.label = QLabel('您的选择为:', self)

        vbox = QVBoxLayout()
        vbox.addWidget(self.radio_yes)
        vbox.addWidget(self.radio_no)
        vbox.addWidget(self.label)

        self.setLayout(vbox)

        self.radio_yes.clicked.connect(self.radio_button_clicked)
        self.radio_no.clicked.connect(self.radio_button_clicked)

    def radio_button_clicked(self):
        yes_checked = self.radio_yes.isChecked()
        no_checked = self.radio_no.isChecked()

        if yes_checked:
            self.label.setText('您的选择为:是')
        elif no_checked:
            self.label.setText('您的选择为:否')

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

在上面的代码中,我们首先将单选按钮’是‘设置为选中状态,然后将’是‘和’否‘以及一个标签控件放在垂直布局中。我们通过isChecked()方法来获取两个单选按钮的状态,并将状态输出到标签控件中。