PyQt5基本窗口控件(五)按钮类控件

本文详细介绍了PyQt5中的按钮类控件,包括QAbstractButton的介绍,QPushButton的常见方法和快捷键设置,QRadioButton的使用,以及QCheckBox的三态功能和应用案例。内容涵盖了信号与槽的连接,按钮状态的监测以及快捷键的设定。
摘要由CSDN通过智能技术生成

五、按钮类控件

1、QAbstractButton

  • 这个类是所有按钮类的基类,是抽象类,不能实例化,必须由其他按钮类继承来实现不同的功能。
  • QAbstractButton提供的状态
状态 含义
isDown() 提示按钮是否被按下
ischecked() 提示按钮是否已经标记
isEnable() 提示按钮是否可以被用户点击
ischeckAble() 提示按钮是否为可标记的
setautoRepeat() 设置按钮是否在用户长按时可以自动重复执行
  • QAbstractButton提供的信号
信号 含义
Pressed 当鼠标指针在按钮上并按下左键时触发该信号
Released 当鼠标左键被释放时触发该信号
Clicked 当鼠标左键被按下然后释放时,或者快捷键被释放时触发该信号
Toggled 当按钮的标记状态发生改变时触发该信号

2、QPushButton

  • QPushButton类继承自QAbstractButton类,其形状是长方形,文本标题或图标可以显示在长方形上。它也是一种命令按钮,可以单击该按钮执行一些命令,或者响应一些事件。常见的有“确认”“申请”“取消”“关闭”“是”“否”等按钮。

  • 命令按钮通常通过文本来描述执行的动作,有时候也会通过快捷键来执行对应按钮的命令。

(1)QPushButton类的常用方法
方法 描述
setCheckable() 设置按钮是否已经被选中,设置为True表示按钮将保持已点击和释放状态
toggle() 在按钮状态之间进行切换
setIcon() 设置按钮上的图标
setEnabled() 设置按钮是否可以使用,当设置为False时,按钮变成不可用状态
ischedked() 返回按钮的状态,返回值为True或False
setDefault() 设置按钮的默认状态
setText() 设置按钮的显示文本
text() 返回按钮的显示文本
(2)为QPushButton设置快捷键
  • 通过按钮名字设置,如名字“&Download”,它的快捷键是“Alt+D”,首字母D带下划线。代码如下。
self.button = QPushButton("&Download") 	
self.button.setDefault(True)
案例十四 QPushButton按钮的使用
# -*- coding:utf-8 -*-
"""
    # @Time:2022/12/9 0009 6:59
    # @Author:晚秋拾叶
    # @File:qt04_QButton.py
    # @PyCharm之Python
"""
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *


class Form(QDialog):
    def __init__(self, parent=None):
        super(Form, self).__init__(parent)

        VBlayout = QVBoxLayout()
        self.setLayout(VBlayout)

        self.btn1 = QPushButton("Button1")
        self.btn1.setCheckable(True)    # 设置是否被选中,True为选中
        self.btn1.toggle()  ## 切换按钮状态
        self.btn1.clicked.connect(lambda: self.whichbtn(self.btn1))
        self.btn1.clicked.connect(self.btnstate)
        VBlayout.addWidget(self.btn1)

        self.btn2 = QPushButton('image')
        self.btn2.setIcon(QIcon("./images/头像.ico"))
        self.btn2.clicked.connect(lambda: self.whichbtn(self.btn2))
        VBlayout.addWidget(self.btn2)


        self.btn3 = QPushButton("Disabled")
        self.btn3.setEnabled(False)
        VBlayout.addWidget(self.btn3)

        self.btn4 = QPushButton(
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

山哥ol

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

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

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

打赏作者

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

抵扣说明:

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

余额充值