📜  qradiobutton 示例 - Python (1)

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

QRadiobutton 示例 - Python

QRadiobutton 是 PyQT5 中的一个控件,它表示一个单选按钮,用户可以从一组选项中选择一个。

示例代码
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QRadioButton
import sys

class App(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("QRadioButton示例")
        self.setGeometry(200, 200, 300, 150)

        layout = QVBoxLayout()

        radio_btn1 = QRadioButton("选项一")
        radio_btn1.setChecked(True)
        radio_btn1.toggled.connect(lambda:self.on_toggled(radio_btn1))
        layout.addWidget(radio_btn1)

        radio_btn2 = QRadioButton("选项二")
        radio_btn2.toggled.connect(lambda:self.on_toggled(radio_btn2))
        layout.addWidget(radio_btn2)

        self.setLayout(layout)

    def on_toggled(self, btn):
        if btn.isChecked():
            print("选中了 " + btn.text())

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

首先,我们导入必要的模块:QApplicationQWidgetQVBoxLayoutQRadioButton

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

然后,我们创建一个继承自 QWidgetApp 类。

class App(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("QRadioButton示例")
        self.setGeometry(200, 200, 300, 150)

        layout = QVBoxLayout()

        radio_btn1 = QRadioButton("选项一")
        radio_btn1.setChecked(True)
        radio_btn1.toggled.connect(lambda:self.on_toggled(radio_btn1))
        layout.addWidget(radio_btn1)

        radio_btn2 = QRadioButton("选项二")
        radio_btn2.toggled.connect(lambda:self.on_toggled(radio_btn2))
        layout.addWidget(radio_btn2)

        self.setLayout(layout)

    def on_toggled(self, btn):
        if btn.isChecked():
            print("选中了 " + btn.text())

我们在构造函数中创建了一个 QVBoxLayout 布局,然后添加了两个 QRadioButton 控件,一个设置为默认选中状态。

我们还关联了 toggled 信号到 on_toggled 槽函数。这个函数会检查哪个单选按钮被选中,并输出相关提示信息。

最后,我们创建了应用程序对象并运行 PyQt5。

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

在运行上面的代码时,会显示两个单选按钮。

QRadioButton示例

选中一个单选按钮后,会在控制台输出一个提示信息。