【pyqt5学习】——QAbstractButton学习(普通按钮QPushButton、工具按钮QToolButton、单选按钮QRadioButton、复选框按钮QCheckBox)

本文详细介绍了Qt中四种按钮类型的使用方法,包括普通按钮QPushButton、单选按钮QRadioButton、复选框QCheckBox等,涵盖了设置按钮状态、图标、信号响应等方面。

目录

1、按钮介绍

2、普通按钮QPushButton学习

1)特殊模式——开关按钮(toggle)

①将按钮设置为可选择的

②将按钮按下

判断按钮是否被按下 isChecked()

2)给按钮设置前置图标setIcon()

 ​编辑

3)按钮信号

4)完整代码

3、单选按钮QRadioButton学习

 1)将按钮设置为选中状态setChecked()

2)信号toggled和clicked

3)获取发射信号的控件self.sender()

4)完整代码

 4、复选框QCheckBox学习

1)三种状态(未选中、半选中、选中)

2) 设置状态

①方法一——setCheckState

②方法二—— setChecked()

3)开启三种状态 ——setTristate(True)

4)获取复选框的状态isChecked()、checkState() 

5)信号——clicked、stateChanged 

 6)完整代码


1、按钮介绍

共四种按钮类型

QPushButton

QToolButton

QRadioButton

QCheckBox

有共同的父类:QAbstractButton

2、普通按钮QPushButton学习

1)特殊模式——开关按钮(toggle)

普通按钮的特殊模式即为开关状态,按钮只有按下和未按下两种状态,具体设置为:

①将按钮设置为可选择的

self.button1.setCheckable(True) # 将按钮设置为开关状态的特殊模式

②将按钮按下

self.button1.toggle() # 将按钮按下,只有将button属性设置为checkable该行才有用

注:上述一般是结合使用,若未将按钮的Checkable属性设置为TRUE,toggle是没有效果的

按下状态按钮会呈现浅蓝色:

 

未按下则显示灰色:

 

判断按钮是否被按下 isChecked()

 通过按钮名称.isChecked()方法可以判断按钮是否被按下 

2)给按钮设置前置图标setIcon()

self.button2.setIcon(QIcon(QPixmap("icon.jpg")))

 

3)按钮信号

clicked——常用的信号,就是“点击按钮”信号

toggled——这个信号只有开关模式的按钮才有,“按钮状态发生改变”信号

注:上述两个信号在普通按钮中的效果是一样的,因为要使得一个按钮的状态改变就必须点击按钮,因此效果一样

4)完整代码

from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
import sys

# QPushButton——普通按钮
class QPushbuttonDemo(QWidget):
	def __init__(self):
		super(QPushbuttonDemo, self).__init__()
		self.initUI()

	def initUI(self):
		self.resize(30,300)
		self.setWindowTitle("普通按钮QPushButton学习")
		layout = QVBoxLayout()

		# 将普通按钮设置为特殊模式——开关按钮,有两个状态(按下和未按下)
		self.button1 = QPushButton("第一个按钮")
		self.button1.setText("First Button")
		print(self.button1.isChecked()) # False
		self.button1.setCheckable(True) # 将按钮设置为开关状态的特殊模式
		self.button1.toggle() # 将按钮按下,只有将button属性设置为checkable该行才有用
		print(self.button1.isChecked()) # TRUE

		self.button1.clicked.connect(self.showState) # 将按钮点击信号绑定事件
		self.button1.toggled.connect(self.showState) # 将按钮开关信号绑定事件,和上述一样

		# 给普通按钮添加图标
		self.button2 =
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有情怀的机械男

你的鼓励将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值