duanyunqi0 2019-06-28

单选按钮是一个切换按钮,它通常与其它的RadioButton一起使用,并且任何时候只能选择其中一个按钮。
如果一次设置为多个项目,可以使用在toggle_mode中操作CheckBox或PushButton。
radio button = QRadioButton(label)
文本可以使用以下方法进行更改:
radiobutton.setText(label)
也可以使用这个方法从单选按钮中检索文本:
radiobutton.text()
要设置为单选按钮被选中,可以使用:
radiobutton.setChecked(checked)
当参数checked设置为True时,单选按钮将被激活。
确定单选按钮是否被激活,通过以下方法检测:
radiobutton.isChecked()
默认情况下,窗口内的所有RadioButton小部件将被分配到相同的组,这将导致,如果窗口内有多个单选按钮,只会选中一个按钮,这会造成问题,要解决此问题请阅读有关ButtonGroup对象的信息。
如果需要,还可以将图标应用用于单选按钮:
radiobutton.setIcon(icon)
# !/usr/bin/python3
from PyQt5.QtWidgets import * 
import sys
class Window(QWidget):
    def __init__(self):
        QWidget.__init__(self)
        
        layout = QGridLayout()
        self.setLayout(layout)
        
        radiobutton = QRadioButton("Brazil")
        radiobutton.setChecked(True)
        radiobutton.country = "Brazil"
        radiobutton.toggled.connect(self.on_radio_button_toggled)
        layout.addWidget(radiobutton, 0, 0)
        
        radiobutton = QRadioButton("Argentina")
        radiobutton.country = "Argentina"
        radiobutton.toggled.connect(self.on_radio_button_toggled)
        layout.addWidget(radiobutton, 0, 1)
        
        radiobutton = QRadioButton("Ecuador")
        radiobutton.country = "Ecuador"
        radiobutton.toggled.connect(self.on_radio_button_toggled)
        layout.addWidget(radiobutton)
    
    def on_radio_button_toggled(self):
    radiobutton = self.sender()
        
        if radiobutton.isChecked():
        print("Selected country is %s" % (radiobutton.country))
    
app = QApplication(sys.argv)
screen = Window()
screen.show()
sys.exit(app.exec_())