PyQt5,RadioButton

duanyunqi0 2019-06-28

PyQt5,RadioButton

简介

单选按钮是一个切换按钮,它通常与其它的RadioButton一起使用,并且任何时候只能选择其中一个按钮。
如果一次设置为多个项目,可以使用在toggle_mode中操作CheckBoxPushButton

创建

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

相关推荐