单选按钮QRadioButton

介绍

QRadioButton类是继承自QAbstractButton类,它提供了一组可供选择的按钮和文本按钮,用户可以选择其中一个选项,标签用于显示对应的文本信息。单选按钮是一种开关按钮,可以切换为on或者off,即checked或者unchecked,主要是为用户提供“多选一”的选项。
当将单选按钮切换到on或者off时,就会发送toggled信号,绑定这个信号,在按钮状态发生改变时,触发相应的行为。

方法

QlabeL常用方法

方法 描述
setCheckable() 设置按钮是否已经被选中,可以改变单选按钮的选中状态,如果设置为True,则表示单选按钮将保持已单击和释放状态
isChecked() 返回单选按钮的状态。返回值为True和False
setText() 设置单选按钮的显示文本
text() 返回单选按钮的显示文本

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

QRadioButton的使用

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")
		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 demo")
	
	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

后记

可能暂时不能截动图展示了,暂时就这样吧。

你可能感兴趣的:(#,PyQt5)