P4 Qt基础控件——工具按钮toolButton(上)

前言

                              

🎬 个人主页:@ChenPi

🐻推荐专栏1: 《C++_@ChenPi的博客-CSDN博客》✨✨✨ 

🔥 推荐专栏2: 《Linux C应用编程(概念类)_@ChenPi的博客-CSDN博客》✨✨✨
🌺本篇简介  :这一章我们学一下Qt中经常使用控件——toolButton,这个按钮可以带图标

                          比如pushButton加图片,按钮被图片挡住,按钮就按不了

                          而toolbutton就可以解决这个问题

主要用来开发图形用户界面(Graphical User Interface,简 称 GUI)程序

Qt 虽然经常被当做一个 GUI 库,用来开发图形界面应用程序,但这并不是 Qt 的全部

Qt 除了可以绘制漂亮的界面(包括控件、布局、交互),还包含很多其它功能

比如多线程、 访问数据库、图像处理、音频视频处理、网络通信、文件操作等

所以如果学嵌入式,那么Qt就是其中一个大方向了

本专栏的使用的

  1. Linux操作系统是Ubuntu18.4 
  2. Qt的版本是Qt5.12.9 

 首先我们新建一个qt项目,方法如下

P2 Qt Creator创建第一个Qt程序-CSDN博客

01 QToolButton

工具按钮是一种特殊按钮,可用于快速访问特定命令或选项。

与普通命令(PushButton)按钮相反,工具按钮通常不显示文本标签(不是不能显示),而是显示图标,CSDN的工具栏

02 代码实现 

mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
/* 引入QToolButton类 */
#include <QToolButton>
/* 引入QToolBar类 */
#include <QToolBar>class MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();private:/* 声明一个QToolButton对象 */QToolButton *toolButton;/* 声明一个QToolBar对象 */QToolBar *toolBar;
};
#endif // MAINWINDOW_H

 mainwindow.c

#include "mainwindow.h"
#include <QApplication>
#include <QStyle>MainWindow::MainWindow(QWidget *parent): QMainWindow(parent)
{/* 设置主窗体的位置和大小 */this->setGeometry(0, 0, 800, 480);/* 实例化QToolBar对象 */toolBar = new QToolBar(this);/* 设置toolBar的位置和大小 */toolBar->setGeometry(0, 0, 800, 100);/* 实例化QStyle类对象,用于设置风格,调用系统类自带的图标 */QStyle *style = QApplication::style();/* 使用Qt自带的标准图标,可以在帮助文档里搜索QStyle::StandardPixmap */QIcon icon = style->standardIcon(QStyle::SP_TitleBarContextHelpButton);/* 实例化QToolButton对象 */toolButton = new QToolButton();/* 设置图标 */toolButton->setIcon(icon);/* 设置要显示的文本 */toolButton->setText("帮助");/* 调用setToolButtonStyle()方法,设置toolButoon的样式,设置为文本置于图标下方 */toolButton->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);/* 最后将toolButton添加到ToolBar里 */toolBar->addWidget(toolButton);
}MainWindow::~MainWindow()
{
}

 

现在这个代码只是有一个图标的按钮而已,当还没有发挥出toolbutton的特点,下一章我们在此基础上继续拓展一下

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/216878.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙系统扫盲(五):再谈鸿蒙开发用什么语言?

前段时间&#xff0c;发表了鸿蒙系统扫盲&#xff08;三&#xff09;&#xff1a;鸿蒙开发用什么语言&#xff1f;这篇文章&#xff0c;收到一些网友的提问&#xff0c;一一解答了&#xff0c;还有网友对我进行了严厉的批评和尖锐的指责&#xff0c;说我有点颠倒是非&#xff0…

【lesson9】表的约束(2)

文章目录 表的约束的介绍列描述测试建表 zerofill测试建表插入测试 修改表插入测试 修改表插入测试 表的约束的介绍 真正约束字段的是数据类型&#xff0c;但是数据类型约束很单一&#xff0c;需要有一些额外的约束&#xff0c;更好的保证数据的合法性&#xff0c;从业务逻辑角…

WT588F02B-8S语音芯片在水波炉中的应用:提升用户体验与安全性

在现代家电领域&#xff0c;语音芯片的应用日益普及&#xff0c;为各类产品增添了人性化、智能化的元素。以水波炉为例&#xff0c;一种新型的家用电器&#xff0c;它结合了微波炉和烤箱的功能&#xff0c;通过采用WT588F02B-8S语音芯片&#xff0c;使得水波炉在操作、提示、安…

【Flink名称解释一】什么是cataLog

Catalog 提供了元数据信息&#xff0c;例如数据库、表、分区、视图以及数据库或其他外部系统中存储的函数和信息。 数据处理最关键的方面之一是管理元数据。 元数据可以是临时的&#xff0c;例如临时表、或者通过 TableEnvironment 注册的 UDF。 元数据也可以是持久化的&#x…

android项目实战之Android 11(API等级29)或更高版本,检测键盘的弹出和收起

如题 在Android 11&#xff08;API等级29&#xff09;或更高版本中&#xff0c;由于隐私限制&#xff0c;无法直接检测键盘的弹出和收起。这是由于Android系统对于键盘弹出和收起的检测进行了限制&#xff0c;以保护用户的隐私。 实现方案 public class KeyboardObserver { …

Typescript中Partial数据类型在项目中的实际应用

在TypeScript中&#xff0c;Partial是一个内置的泛型类型&#xff0c;用于将给定的类型T 的所有属性转换为可选属性。换句话说&#xff0c;Partial<T> 可以帮助我们将一个类型中的所有属性变为可选属性&#xff0c;这在某些情况下非常有用。 例如&#xff1a;设有一个接…

2023-12-12 AIGC-AI如何处理信息和提问

摘要: 2023-12-12 AI如何处理信息和提问 AI如何处理信息和提问 对于基于自然语言处理&#xff08;NLP&#xff09;的模型&#xff0c;如ChatGPT这样的大型语言模型。这个过程可以分为几个关键步骤&#xff1a; 1. 接收和解析输入 接收输入&#xff1a;当用户提出一个问题时&…

经典策略筛选-20231212

策略1&#xff1a; 龙头战法只做最强&#xff1a;国企改革 ----四川金顶 1、十日交易内出现 涨停或 &#xff08;涨幅大于7个点且量比大于3&#xff09; 2、JDK MACD RSI OBV BBI LWR MTM 六指标共振 3、均线多头 4、 筹码峰 &#xff08;锁仓&#xff09; 5、现价>…

最强文生图跨模态大模型:Stable Diffusion

文章目录 一、概述二、Stable Diffusion v1 & v22.1 简介2.2 LAION-5B数据集2.3 CLIP条件控制模型2.4 模型训练 三、Stable Diffusion 发展3.1 图形界面3.1.1 Web UI3.1.2 Comfy UI 3.2 微调方法3.1 Lora 3.3 控制模型3.3.1 ControlNet 四、其他文生图模型4.1 DALL-E24.2 I…

Unity光照模型实践

光照作为3D渲染中最重要的部分之一&#xff0c;如何去模拟真实环境的光照是重要的研究内容&#xff0c;但是现实环境光照过于复杂&#xff0c;有很多经典好用的光照模型去近似真实光照。 根据基础的Phong模型 最终某个点的结果为 环境光Ambient 漫反射光Diffuse 高光Specula…

一文讲解关于MCU启动原理的几个关键问题

MCU最开始一启动后去哪里读代码&#xff1f; CPU上电启动后被设计为去地址0x00000000位置处读取代码&#xff1b;首先会连续读取两个字&#xff0c;分别是栈指针初始值和复位异常处理函数的地址&#xff1b;然后跳去执行复位异常处理函数。 当然在一些早期的ARM处理器设计中&a…

在Spring Cloud中使用组件Ribbon和Feign,并分别创建子模块注册到Eureka中去

ok&#xff0c;在上篇文章中我们讲了在Spring cloud中使用Zuul网关&#xff0c;这篇文章我们将Spring Cloud的五大核心组件的Ribbon和Feign分别创建一个微服务模块。 题外话&#xff0c;本篇博客就是配置子模块&#xff0c;或者说是微服务&#xff0c;然后将微服务正式启动之前…

Stimulus—需求形式化建模和验证工具

产品概述 Stimulus是法国达索公司产品&#xff0c;其目的是通过需求建模分析来验证需求的正确性。Stimulus的核心理念是运用“自然语言”对功能性需求进行建模&#xff0c;并通过仿真来查找需求中的缺陷&#xff0c;例如需求一致性、不二义性和完整性检查等。借助Stimulus可以在…

media-ctl 生成拓扑和数据流图

文章目录 前言一、加载驱动模块二、media-ctl 生成拓扑和数据流图1.media-ctl工具将pipeline拓扑生成dot文件2.将dot文件转换为png图片总结参考资料前言 本文主要介绍在Linux下如何通过media-ctl 工具生成生成V4L2 和 Media 框架的拓扑和数据流图 硬件环境:PC 软件环境:ubun…

2023-12-05 Qt学习总结9

点击 <C 语言编程核心突破> 快速C语言入门 Qt学习总结 前言二十五 QFile文件操作总结 前言 要解决问题: 学习qt最核心知识, 多一个都不学. 二十五 QFile文件操作 QFile是Qt提供的文件读写类&#xff0c;支持对文件进行读写、复制、重命名、删除等操作。常用C函数如下&…

用C语言实现字符串的逆置

第一种方法&#xff1a; 用指针像交换两个数一样&#xff0c;创建一个临时变量&#xff0c;从而实现字符串的逆置&#xff01; void Reverse(char* str) {char* left str;//指向字符串数组的左指针char* right str strlen(str) - 1;//指向字符串数组的右指针&#xff0c;因…

内核上项目【通信】

文章目录 目的操作步骤逆向分析实现代码参考文献 目的 在Win7 64位系统上编写驱动利用ExRegisterAttributeInformationCallback注册回调进行通信 操作步骤 1.利用MmGetSystemRoutineAddress获取ExRegisterAttributeInformationCallback中ExpDisSetAttributeInformation、Exp…

接口自动化多层嵌套json数据处理代码实例

最近在做接口自动化测试&#xff0c;响应的内容大多数是多层嵌套的json数据&#xff0c;在对响应数据进行校验的时候&#xff0c;可以通过&#xff08;key1.key2.key3&#xff09;形式获取嵌套字典值的方法获取响应值&#xff0c;再和预期值比较 1 2 3 4 5 6 7 8 9 10 11 12 13…

Enabling Application Engine Tracing 启用应用程序引擎跟踪

Enabling Application Engine Tracing 启用应用程序引擎跟踪 By default, all Application Engine traces are turned off. To see a trace or a combination of traces, set trace options before you run a program. 默认情况下&#xff0c;所有应用程序引擎跟踪都处于关闭…

自动化测试基础知识:什么是自动化测试?需要学习哪些知识与工具!

1、自动化测试概念 自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常&#xff0c; 在设计了测试用例并通过评审之后&#xff0c;由测 试人员根据测试用例中描述的规程一步步执行测试&#xff0c;得到实际结果与期望结果的比较。简言之&#xff0c;自动化测试…