📌  相关文章
📜  PyQt5 – 查找单选按钮是否被选中(1)

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

PyQt5 – 查找单选按钮是否被选中

在PyQt5中,单选按钮(QRadioButton)可用于在多个选项中选择一个选项。在此主题中,我们将讨论如何查找单选按钮是否被选中。

代码示例

以下是一个简单的程序,其中包含两个单选按钮 - 男和女,一个按钮用于显示所选单选按钮,另一个按钮用于检查哪个单选按钮被选中。

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

class App(QWidget):

    def __init__(self):
        super().__init__()
        self.setWindowTitle('PyQt5 – 查找单选按钮是否被选中')

        self.gender_button_group = QButtonGroup()

        male_button = QRadioButton('男')
        self.gender_button_group.addButton(male_button, 1)

        female_button = QRadioButton('女')
        self.gender_button_group.addButton(female_button, 2)

        show_button = QPushButton('显示所选单选按钮')
        show_button.clicked.connect(self.show_selected_radio_button)

        check_button = QPushButton('检查哪个单选按钮被选中')
        check_button.clicked.connect(self.check_radio_button_status)

        self.label = QLabel(self)

        main_layout = QVBoxLayout()

        main_layout.addWidget(male_button)
        main_layout.addWidget(female_button)
        main_layout.addWidget(show_button)
        main_layout.addWidget(check_button)
        main_layout.addWidget(self.label)
        self.setLayout(main_layout)

    def show_selected_radio_button(self):
        selected_button = self.gender_button_group.checkedButton()
        if selected_button:
            self.label.setText('所选单选按钮是:' + selected_button.text())

    def check_radio_button_status(self):
        male_button_status = '已选择' if self.gender_button_group.checkedButton() == self.gender_button_group.button(1) else '未选择'
        female_button_status = '已选择' if self.gender_button_group.checkedButton() == self.gender_button_group.button(2) else '未选择'
        self.label.setText('男: ' + male_button_status + '\n' + '女: ' + female_button_status)

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

我们首先创建一个窗口小部件类 - App,并在其中添加两个单选按钮(男和女),一个用于显示所选单选按钮的按钮,另一个用于检查哪个单选按钮被选中的按钮。

我们使用 QButtonGroup 类创建一个单选按钮组,并使用 addButton() 向组中添加单选按钮。

show_selected_radio_button() 函数检查是否选中了单选按钮,并在 QLabel 控件中显示所选单选按钮的文本。

check_radio_button_status() 函数检查哪个单选按钮被选中,并在 QLabel 控件中显示男和女单选按钮的状态。

最后,我们实例化 QApplication 类,并在其中实例化 App 类。我们调用 show() 方法显示小部件,并使用 sys.exit() 退出应用程序。