原文: https://pythonbasics.org/pyqt-radiobutton/

PyQT QRadioButton是一个简单的单选按钮。 通常,当只有一个选项(而不是复选框)时才使用。

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

PyQt 单选按钮 - 图1

单选按钮

PyQT 单选按钮示例

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

  1. from PyQt5.QtWidgets import *
  2. import sys
  3. class Window(QWidget):
  4. def __init__(self):
  5. QWidget.__init__(self)
  6. layout = QGridLayout()
  7. self.setLayout(layout)
  8. radiobutton = QRadioButton("Australia")
  9. radiobutton.setChecked(True)
  10. radiobutton.country = "Australia"
  11. radiobutton.toggled.connect(self.onClicked)
  12. layout.addWidget(radiobutton, 0, 0)
  13. radiobutton = QRadioButton("China")
  14. radiobutton.country = "China"
  15. radiobutton.toggled.connect(self.onClicked)
  16. layout.addWidget(radiobutton, 0, 1)
  17. radiobutton = QRadioButton("Japan")
  18. radiobutton.country = "Japan"
  19. radiobutton.toggled.connect(self.onClicked)
  20. layout.addWidget(radiobutton, 0, 2)
  21. def onClicked(self):
  22. radioButton = self.sender()
  23. if radioButton.isChecked():
  24. print("Country is %s" % (radioButton.country))
  25. app = QApplication(sys.argv)
  26. screen = Window()
  27. screen.show()
  28. sys.exit(app.exec_())

下载示例