QPushButton

一. 继承关系 

二. 功能 

1. 创建按钮控件,配置快捷键

# 创建按钮
1. QPushButton(const QIcon &icon, const QString &text, QWidget *parent = nullptr)
2. QPushButton(const QString &text, QWidget *parent = nullptr)
3. QPushButton(QWidget *parent = nullptr)

# 给按钮搭配快捷键
const QString &text中  快捷键:Alt+&后面跟的第一个字母
1. &download 快捷键为Alt+d
2. down&load 快捷键为Alt+l
3. 显示实际的&符号,用&&转义,例如down&&load 没有快捷键,显示为down&load
import sys

from PyQt5.QtWidgets import QApplication, QWidget,QPushButton,QVBoxLayout
from PyQt5.QtGui import QIcon

def download():
    print("正在下载----")
def back():
    print("取消----")
def warn():
    print("警告")

if __name__ == '__main__':
    app = QApplication(sys.argv)
    # 创建窗口
    w = QWidget()
    # 设置窗口标题
    w.setWindowTitle("第一个PyQt")
    # 设置窗口的大小
    w.resize(300,300)
    # 创建垂直布局,返回布局器
    layout = QVBoxLayout()

    # 创建按钮
    b1 = QPushButton(QIcon(R"D:\PyQt5\01\对号.png"),"&Download",w)
    b2 = QPushButton(QIcon(R"D:\PyQt5\01\删除.png"),"&back",w)
    b3 = QPushButton(QIcon(R"D:\PyQt5\01\感叹号.png"),"&warning",w)
    # 连接信号
    b1.clicked.connect(download)
    b2.clicked.connect(back)
    b3.clicked.connect(warn)

    # 将按钮添加到布局器
    layout.addWidget(b1)
    layout.addWidget(b2)
    layout.addWidget(b3)
    # 将布局器应用到窗口
    w.setLayout(layout)
    # 展示窗口
    w.show()

    # 程序进行循环等待状态
    app.exec()

2. 运行时更改按钮外观

import sys

from PyQt5.QtWidgets import QApplication, QWidget,QPushButton,QVBoxLayout
from PyQt5.QtGui import QIcon

def change1():
    b1.setText("解锁")
    b1.setIcon(QIcon(R"D:\PyQt5\02\解锁.png"))
def change2():
    b1.setText("上锁")
    b1.setIcon(QIcon(R"D:\PyQt5\02\上锁.png"))

if __name__ == '__main__':
    app = QApplication(sys.argv)

    w = QWidget()
    # 设置窗口标题
    w.setWindowTitle("第一个PyQt")
    w.resize(300,300)
    layout = QVBoxLayout()

    b1 = QPushButton(QIcon(R"D:\PyQt5\02\上锁.png"),"上锁",w)
    b1.pressed.connect(change1)
    b1.released.connect(change2)

    layout.addWidget(b1)

    w.setLayout(layout)
    # 展示窗口
    w.show()

    # 程序进行循环等待状态
    app.exec()

3. 自动默认按钮

import sys

from PyQt5.QtWidgets import QApplication, QWidget,QPushButton,QVBoxLayout
from PyQt5.QtGui import QIcon

def download():
    print("正在下载----")
def back():
    print("取消----")
def warn():
    print("警告")

if __name__ == '__main__':
    app = QApplication(sys.argv)

    w = QWidget()
    # 设置窗口标题
    w.setWindowTitle("第一个PyQt")
    w.resize(300,300)
    layout = QVBoxLayout()

    b1 = QPushButton(QIcon(R"D:\PyQt5\01\对号.png"),"&Download",w)
    b2 = QPushButton(QIcon(R"D:\PyQt5\01\删除.png"),"&back",w)
    b3 = QPushButton(QIcon(R"D:\PyQt5\01\感叹号.png"),"&warning",w)

    b2.setAutoDefault(True)
    print(b1.autoDefault())
    print(b2.autoDefault())
    print(b3.autoDefault())

    b1.setFlat(True)
    b2.setFlat(True)


    b1.clicked.connect(download)
    b2.clicked.connect(back)
    b3.clicked.connect(warn)

    layout.addWidget(b1)
    layout.addWidget(b2)
    layout.addWidget(b3)

    w.setLayout(layout)
    # 展示窗口
    w.show()

    # 程序进行循环等待状态
    app.exec()

三. 官方文档

QPushButton Class | Qt Widgets 5.15.15 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值