从零开始学Pyqt5之【控件介绍】(5):QRadioButton单选控件

简介: 从零开始学Pyqt5之【控件介绍】(5):QRadioButton单选控件

QRadioButton控件的作用


QradioButton控件提供了一组可供选择的按钮和文本标签,用户可以选择其中一个选项,标签用于显示对应的文本信息。


单选钮是一种开关按钮,可以切换为on或者off,即 checked或unchecked,主要是为用户提供“多选一”的选择。


QRadioButton控件常用的方法


724f15779b9146639d00fa46a9d1c26e.png


代码示例


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


运行结果:


688eaf79976a4914917cd868da03dd3e.png


注意:在QRadioButton中,toggled信号是在切换单选钮状态(开、关)时发射的,而clicked信号则在每次点击单选钮时都会发射。在实际中,一般只有状态改变时才有必要去响应,因此toggled信号更适合用于状态监控。

相关文章
|
2月前
Qt6学习笔记八(其他控件)
Qt6学习笔记八(其他控件)
39 0
|
11月前
Pyside6-第五篇-单选按钮QRadioButton
Pyside6-第五篇-单选按钮QRadioButton
297 0
从零开始学Pyqt5之【控件介绍】(12):QInputDialog对话框控件
从零开始学Pyqt5之【控件介绍】(12):QInputDialog对话框控件
从零开始学Pyqt5之【控件介绍】(12):QInputDialog对话框控件
从零开始学Pyqt5之【控件介绍】(13):QFontDialog字体选择对话框控件
从零开始学Pyqt5之【控件介绍】(13):QFontDialog字体选择对话框控件
从零开始学Pyqt5之【控件介绍】(13):QFontDialog字体选择对话框控件
|
数据安全/隐私保护
从零开始学Pyqt5之【控件介绍】(2):QLineEdit控件
从零开始学Pyqt5之【控件介绍】(2):QLineEdit控件
从零开始学Pyqt5之【控件介绍】(2):QLineEdit控件