单选框QRadioButton简介
QRadioButton为单选按钮, 可以选中(打开)或者取消选中(关闭)。在一组单选按钮中,一次只能选中其中的一个按钮。选中或者取消选中QRadioButton, 都会发出toggled()信号。使用isChecked()可以查看是否选择了某个QRadioButton按钮。
QRadioButton 常用方法:
- setChecked(): 设置按钮是否已经被选中,可以改变单选按钮的选中状态,如果设置为True则表示单选按钮将保持以点击和释放状态;
- isChecked(): 返回单选按钮的状态,返回True或False;
- setText(): 设置单选按钮显示的文本;
- text(): 返回单选按钮显示的文本。
QRadioButton类继承关系:
测试单选框QRadioButton
创建文件qradiobutton.py, 添加“开灯”和 “关灯”两个QRadioButton,点击开灯按钮,显示开灯图片,否则显示关灯图片。代码如下:
import sysimport osfrom PyQt5 import QtCore, QtGui, QtWidgetsfrom PyQt5.QtWidgets import (QApplication, QMainWindow, QLabel, QRadioButton)from PyQt5.QtGui import QPixmap class DemoRadioButton(QMainWindow): def __init__(self, parent=None): super(DemoRadioButton, self).__init__(parent) # 设置窗口标题 self.setWindowTitle('实战PyQt5: QRadioButton Demo!') # 设置窗口大小 self.resize(400, 300) self.light_on = QRadioButton(self) self.light_on.setText('开灯') self.light_on.move(10, 10) self.light_on.toggled.connect(self.onOrOff) self.light_off = QRadioButton(self) self.light_off.setText('关灯') self.light_off.move(60, 10) self.light_off.toggled.connect(self.onOrOff) self.label_light = QLabel(self) self.label_light.setGeometry(72, 40, 256, 256) # 设置初始状态,开灯 self.light_on.setChecked(True) self.onOrOff() def onOrOff(self): if self.light_on.isChecked(): pix = QPixmap(os.path.dirname(__file__) + "/light_on.png") self.label_light.setPixmap(pix) else: pix = QPixmap(os.path.dirname(__file__) + "/light_off.png") self.label_light.setPixmap(pix) if __name__ == '__main__': app = QApplication(sys.argv) window = DemoRadioButton() window.show() sys.exit(app.exec())
运行结果如下图所示:
本文知识点
- QRadioButton的基本用法;
- QLabel切换显示静态图片,展示灯的打开和熄灭状态。
喜欢本文内容就收藏,点赞,评论,关注和转发。