QRadioButton控件的作用
QradioButton控件提供了一组可供选择的按钮和文本标签,用户可以选择其中一个选项,标签用于显示对应的文本信息。
单选钮是一种开关按钮,可以切换为on或者off,即 checked或unchecked,主要是为用户提供“多选一”的选择。
QRadioButton控件常用的方法
代码示例
# -*- coding: utf-8 -*- import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * class Radiodemo(QWidget): def __init__(self, parent=None): super(Radiodemo, self).__init__(parent) layout = QHBoxLayout() self.btn1 = QRadioButton("Button1") # btn1设置为默认选中状态 self.btn1.setChecked(True) self.btn1.toggled.connect(lambda:self.btnstate(self.btn1)) layout.addWidget(self.btn1) self.btn2 = QRadioButton("Button2") self.btn2.toggled.connect(lambda:self.btnstate(self.btn2)) layout.addWidget(self.btn2) self.setLayout(layout) self.setWindowTitle("RadioButton 示例") def btnstate(self,btn): if btn.text()=="Button1": if btn.isChecked() == True: print( btn.text() + " is selected" ) else: print( btn.text() + " is deselected" ) if btn.text()=="Button2": if btn.isChecked()== True : print( btn.text() + " is selected" ) else: print( btn.text() + " is deselected" ) if __name__ == '__main__': app = QApplication(sys.argv) radioDemo = Radiodemo() radioDemo.show() sys.exit(app.exec_())
运行结果:
注意:在QRadioButton中,toggled信号是在切换单选钮状态(开、关)时发射的,而clicked信号则在每次点击单选钮时都会发射。在实际中,一般只有状态改变时才有必要去响应,因此toggled信号更适合用于状态监控。