# PyQt 单选按钮

> 原文： [https://pythonbasics.org/pyqt-radiobutton/](https://pythonbasics.org/pyqt-radiobutton/)

PyQT `QRadioButton`是一个简单的单选按钮。 通常，当只有一个选项（而不是复选框）时才使用。

在 qt 中，复选框始终具有圆形按钮和`QRadioButton("Australia")`之类的标签。

![pyqt radiobutton QRadioButton](img/40381d87dcf1cdf4992a4130e8a00a9c.jpg)




## 单选按钮

### PyQT 单选按钮示例

下面的代码创建 3 个单选按钮。 它将 3 个单选按钮添加到网格中。
如果单击任何单选按钮，它将调用方法`onClicked()`。 使用`radiobutton.toggled.connect(self.onClicked)`将单选按钮连接到该方法。

```py
from PyQt5.QtWidgets import *
import sys

class Window(QWidget):
    def __init__(self):
        QWidget.__init__(self)
        layout = QGridLayout()
        self.setLayout(layout)

        radiobutton = QRadioButton("Australia")
        radiobutton.setChecked(True)
        radiobutton.country = "Australia"
        radiobutton.toggled.connect(self.onClicked)
        layout.addWidget(radiobutton, 0, 0)

        radiobutton = QRadioButton("China")
        radiobutton.country = "China"
        radiobutton.toggled.connect(self.onClicked)
        layout.addWidget(radiobutton, 0, 1)

        radiobutton = QRadioButton("Japan")
        radiobutton.country = "Japan"
        radiobutton.toggled.connect(self.onClicked)
        layout.addWidget(radiobutton, 0, 2)

    def onClicked(self):
        radioButton = self.sender()
        if radioButton.isChecked():
            print("Country is %s" % (radioButton.country))

app = QApplication(sys.argv)
screen = Window()
screen.show()
sys.exit(app.exec_())

```

[下载示例](https://gum.co/pysqtsamples)