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