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

如何在百度推广网站大连工业大学专升本

如何在百度推广网站,大连工业大学专升本,那里有专门做印刷品的网站,宝塔在本地搭建wordpress目录 1 -> 什么是 PushButton? 2 -> 相关属性 3 -> 代码示例 3.1 -> 带有图标的按钮 3.2 -> 带有快捷键的按钮 4 -> 总结 1 -> 什么是 PushButton? 在 Qt 框架中,QPushButton 是最基础且最常用的按钮控件之一&am…

目录

1 -> 什么是 PushButton?

2 -> 相关属性

3 -> 代码示例

3.1 -> 带有图标的按钮

3.2 -> 带有快捷键的按钮

4 -> 总结


1 -> 什么是 PushButton?

在 Qt 框架中,QPushButton 是最基础且最常用的按钮控件之一,它是用户界面交互的核心元素。作为 QAbstractButton 类的子类,PushButton 代表了传统的可点击按钮,用于触发应用程序中的特定操作或命令。

QPushButton 继承自 QAbstractButton。这个类是一个抽象类,是其他按钮的父类。

Qt Designer 中也能够看到这里的继承关系。

2 -> 相关属性

QAbstractButton 中,和 QPushButton 相关性较大的属性。

属性说明
text按钮中的文本
icon按钮中的图标
iconSize按钮中图标的尺寸
shortCut按钮对应的快捷键
autoRepeat

按钮是否会重复触发。当鼠标左键按住不放时,

如果设为 true,则会持续产生鼠标点击事件;

如果设为 false,则必须释放鼠标,再次按下鼠标时才能产生点击事件。(相当于游戏手柄上的 “连发” 效果)

autoRepeatDelay重复触发的延时时间。按住按钮多久之后,开始重复触发
autoRepeatInterval重复触发的周期

1. QAbstractButton 作为 QWidget 的子类,当然也继承了 QWidget 的属性。上面介绍的 QWidget 里的各种属性用法,对于 QAbstractButton 同样适用。因此表格中仅仅列出 QAbstractButton 独有的属性。

2. Qt 的 API 设计风格是非常清晰的。此处列出的属性都是可以获取和设置的。例如,使用 text() 获取按钮文本;使用 setText() 设置文本。

事实上,QPushButton 的核心功能都是 QAbstractButton 提供的。自身提供的属性都比较简单。

其中,default 和 audoDefault 影响的是按下 enter 时自动点击哪个按钮的行为;flat 把按钮设置为扁平的样式。

3 -> 代码示例

3.1 -> 带有图标的按钮

1. 创建 rasource.qrc 文件,并导入图片

具体操作参见:【Qt开发】常用控件(四)

2. 在界面上创建一个按钮

3. 修改 widget.cpp,给按钮设置图标

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);// 创建图标对象QIcon icon(":/Science.png");// 设置图标ui->pushButton->setIcon(icon);// 设置图标尺寸ui->pushButton->setIconSize(QSize(50, 50));}Widget::~Widget()
{delete ui;
}

4. 执行程序,观察效果

3.2 -> 带有快捷键的按钮

1. 在界面中拖五个按钮

五个按钮的 objectName 分别为 pushButton_target、pushButton_down、pushButton_up、pushButton_left、pushButton_right。

五个按钮的初始位置随意,文本内容均清空。

2. 创建 resource.qrc,并导入 5 张图片

3. 修改 widget.cpp,设置图标资源和快捷键

  • 使用 setShortcut 给按钮设置快捷键。参数是一个 QKeySequence 对象。表示一个按键序列。支持组合键(类似 ctrl + c 这种)。
  • QKeySequence 的构造函数参数,可以直接使用 “ctrl + c” 这样的按键名字符串表示,也可以使用预定义好的常量(形如 Qt::CTRL + Qt::Key_C)表示。
#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);// 设置按钮图标ui->pushButton_target->setIcon(QIcon(":/image/Science.png"));ui->pushButton_target->setIconSize(QSize(50, 50));ui->pushButton_up->setIcon(QIcon(":/image/up.png"));ui->pushButton_up->setIconSize(QSize(50, 50));ui->pushButton_down->setIcon(QIcon(":/image/down.png"));ui->pushButton_down->setIconSize(QSize(50, 50));ui->pushButton_left->setIcon(QIcon(":/image/left.png"));ui->pushButton_left->setIconSize(QSize(50, 50));ui->pushButton_right->setIcon(QIcon(":/image/right.png"));ui->pushButton_right->setIconSize(QSize(50, 50));// 直接通过按键的名字来设置. 虽然简单, 但是容易写错//    ui->pushButton_up->setShortcut(QKeySequence("ctrl + w"));//    ui->pushButton_down->setShortcut(QKeySequence("s"));//    ui->pushButton_left->setShortcut(QKeySequence("a"));//    ui->pushButton_right->setShortcut(QKeySequence("d"));// 还可以通过按键的枚举来设置按键快捷键// ui->pushButton_up->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_W));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;
}

4. 修改 widget.cpp,设置四个方向键的 slot 函数

void Widget::on_pushButton_up_clicked()
{// 获取到 target 的位置QRect rect = ui->pushButton_target->geometry();// 基于上次的位置, 设置新的位置ui->pushButton_target->setGeometry(rect.x(), rect.y() - 5, rect.width(), rect.height());
}void Widget::on_pushButton_down_clicked()
{// 获取到 target 的位置QRect rect = ui->pushButton_target->geometry();// 基于上次的位置, 设置新的位置ui->pushButton_target->setGeometry(rect.x(), rect.y() + 5, rect.width(), rect.height());
}void Widget::on_pushButton_left_clicked()
{// 获取到 target 的位置QRect rect = ui->pushButton_target->geometry();// 基于上次的位置, 设置新的位置ui->pushButton_target->setGeometry(rect.x() - 5, rect.y(), rect.width(), rect.height());
}void Widget::on_pushButton_right_clicked()
{// 获取到 target 的位置QRect rect = ui->pushButton_target->geometry();// 基于上次的位置, 设置新的位置ui->pushButton_target->setGeometry(rect.x() + 5, rect.y(), rect.width(), rect.height());
}

5. 运行程序,此时点击按钮,或者使用 wsad 均可以让其移动

通过以上代码,按住快捷键,确实可以进行重复触发。但是鼠标点击却不能。

修改 widget.cpp,在构造函数中开启重复触发。

// 开启鼠标点击的连发功能(键盘的连发默认就是支持的)ui->pushButton_up->setAutoRepeat(true);ui->pushButton_down->setAutoRepeat(true);ui->pushButton_left->setAutoRepeat(true);ui->pushButton_right->setAutoRepeat(true);

此时,按住鼠标时,可以让其连续移动。

4 -> 总结

QPushButton 作为 Qt 框架中最基础的交互控件之一,体现了 Qt 设计哲学的核心原则:功能丰富性、跨平台一致性和用户友好性。它不仅仅是一个简单的点击区域,而是一个完整的交互系统,包含了状态管理、视觉反馈、无障碍访问等综合特性。

理解 PushButton 的完整特性集有助于我们创建出更直观、更易用且符合现代设计标准的应用程序界面。其灵活的自定义能力和丰富的功能选项使其能够适应从传统桌面应用到现代扁平化设计的各种界面需求,是 Qt开发者 工具箱中不可或缺的重要组件。



 

感谢各位大佬支持!!!

互三啦!!!

http://www.dtcms.com/a/508288.html

相关文章:

  • 英语单词中有趣的颠倒与学习
  • vue实现模拟deepseekAI功能
  • html网站开发例子wordpress 远程附件
  • 在线心理健康网站建设杨凌做网站
  • Git将本地项目推送到GitLab
  • 廊坊网站建设公司哪个好北京微信网站设计报价
  • wordpress搜索返回页面内容优化seo公司哪家好
  • Termux 安装盘搜搜PanSou,快速找到网盘资源链接,支持各大网盘,自定义部署,数据存储到手机,打造移动搜索资源库
  • Foundation 网格实例
  • 股票300394(天孚通信)2025年4月20日
  • 公司网站怎么做啊ui设计行业的现状和发展前景
  • 专门做图片是网站深圳百度首页优化
  • 清镇网站建设推广科技感网站设计
  • GEO内容更新与迭代策略:长青内容vs时效内容的平衡
  • 专业网站优化推广医疗网站设计风格
  • 贵州毕节建设局网站官网网络营销策略包括哪些方面
  • Hugging Face 2025年10月20日 Top 10 热门AI模型
  • C#基础——GC(垃圾回收)的工作流程与优化策略
  • 空调维修技术支持深圳网站建设建设公司需要网站吗
  • 扩展-docker harbor
  • 【java面向对象进阶】------多态
  • 湖南常德广宇建设网站个人开个装修小公司
  • SSAS-如何通过Visual Studio直连SSAS
  • SAIL-VL2本地部署教程:2B/8B参数媲美大规模模型,为轻量级设备量身打造的多模态大脑
  • 卯兔科技网站建设云数据库可以做网站吗
  • wap网站建设兴田德润实惠网站开发外包合同范本
  • h5游戏免费下载:危险货车
  • 设置ubuntu系统时间为北京时间
  • TiDB和MySQL的不兼容点
  • Unity中rb.MovePosition的误区和相关物理系统知识详解