当前位置: 首页 > article >正文

Qt常用控件之按钮QPushButton

按钮QPushButton

QPushButton 在 Qt 中用于表示一个按钮控件,它继承自抽象 QAbstractButton 类。

QPushButton属性

属性说明
text按钮中的文本。
icon按钮中的图标。
iconSize按钮中图标的大小。
shortCut按钮对应的快捷键。
autoRepeat按钮是否会重复触发(即当按住按钮或快捷键不放时,是否持续触发事件, true 为按住重复触发, false 则反之)。
autoRepeatDelay重复触发的延时时间,按住按钮多久以后,开始重复触发事件。
autoRepeatInterval重复触发的周期。
default设置为按下 enter 时默认触发的按钮(一个窗口只能有一个默认按钮)。
autoDefault控制按钮是否能成为默认按钮。

在代码中对这些属性进行设置的接口,都是 set+属性名() 遵循小驼峰命名规则,如设置 text 属性的接口是 setText()

设置PushButton图片

通过 qrc 设置按钮图片。

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    QIcon icon(":/jienigui.jpg");
    ui->pushButton->setIcon(icon);
    ui->pushButton->setIconSize(QSize(50,50));//设置图片显示尺寸
}

Widget::~Widget()
{
    delete ui;
}

QPushButton1

设置按钮快捷键

Qt 提供了非常方便地设置按钮快捷键的接口。

可以通过 setShortcut() 成员函数设置快捷键,这里的 QkeySequence 使用匿名对象传参。

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    ui->pushButton_up->setShortcut(QKeySequence("w"));
    ui->pushButton_down->setShortcut(QKeySequence("s"));
    ui->pushButton_left->setShortcut(QKeySequence("a"));
    ui->pushButton_right->setShortcut(QKeySequence("d"));
}

Widget::~Widget()
{
    delete ui;
}

QPushButton2


但是上面这种方式在快捷键非法时并不会报错,只是不能生效,所以实际推荐使用枚举的写法

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    ui->pushButton_up->setShortcut(QKeySequence(Qt::Key_W));
    ui->pushButton_down->setShortcut(QKeySequence(Qt::Key_S));
    ui->pushButton_left->setShortcut(QKeySequence(Qt::Key_A));
    ui->pushButton_right->setShortcut(QKeySequence(Qt::Key_D));
}

Widget::~Widget()
{
    delete ui;
}

注意枚举中的所有键都是全大写的。

如果想要设置组合键可以这样设置:

    ui->pushButton_up->setShortcut(QKeySequence("ctrl+w"));
	ui->pushButton_up->setShortcut(QKeySequence(Qt::CTRL+Qt::Key_W));

注意,ctrl 和 shift 这些键在 Qt 中不加 Key_ ,所以其他组合键报错可以查表看一下枚举怎么定义的名称。

枚举实现组合键的原理其实很简单, CTRL 实际被定义为了一个很大但尾部几乎都是 0 的数,而其他的 key_ 键都是很小的数。这样两个键组合得到的值就是组合键的枚举值。

QPushButton3


http://www.kler.cn/a/550682.html

相关文章:

  • 【Java基础】数组性能优化
  • STM32 CubeMx配置串口收发使用DMA并调用Idle模式(二)
  • qt小项目:表白窗口(窗口,信号与槽)
  • UI自动化教程 —— 元素定位技巧:精确找到你需要的页面元素
  • Node.js 中的 fs 模块详解
  • AI时代:前端开发的职业发展路径拓宽
  • 洛谷P8707 [蓝桥杯 2020 省 AB1] 走方格
  • Qt 中使用 SQLite 数据库的完整指南
  • 【MyBatis】预编译SQL与即时SQL
  • 『大模型笔记』Jason Wei: 大语言模型的扩展范式!
  • 使用Navicat for MySQL工具连接本地虚拟机上的MySQL
  • Ubantu安装Prometheus、Grafana、node_exporter、elasticsearch_exporter监控运行状态
  • linux中(base) [root@ZS ~]# 是什么情况,怎么退出
  • 【C++指南】类和对象(十):const成员函数
  • ctf网络安全大赛python
  • Mysql-死锁图文详解
  • 前端JS接口加密攻防实操
  • 进阶——第十六届蓝桥杯嵌入式熟练度练习(开发板捕获频率和占空比)
  • OpenCV中的边缘检测
  • 基于YOLO11深度学习的胃肠道息肉智能检测分割与诊断系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标分割、人工智能