geekdoc-python-zh/docs/pythonbasics/107.md

1.7 KiB

PyQt 单选按钮

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

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

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

pyqt radiobutton QRadioButton

单选按钮

PyQT 单选按钮示例

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

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_())

下载示例