P4 Qt基础控件——工具按钮toolButton(上)
2023-12-13 04:33:42
前言
? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
🎬 个人主页:@ChenPi
🐻推荐专栏1: 《C++_@ChenPi的博客-CSDN博客》????
🔥 推荐专栏2: 《Linux C应用编程(概念类)_@ChenPi的博客-CSDN博客》???
🌺本篇简介 ?:这一章我们学一下Qt中经常使用控件——toolButton,这个按钮可以带图标? ? ? ? ? ? ? ? ? ? ? ? ? 比如pushButton加图片,按钮被图片挡住,按钮就按不了
? ? ? ? ? ? ? ? ? ? ? ? ? 而toolbutton就可以解决这个问题
主要用来开发图形用户界面(Graphical User Interface,简 称 GUI)程序
Qt 虽然经常被当做一个 GUI 库,用来开发图形界面应用程序,但这并不是 Qt 的全部
Qt 除了可以绘制漂亮的界面(包括控件、布局、交互),还包含很多其它功能
比如多线程、 访问数据库、图像处理、音频视频处理、网络通信、文件操作等
所以如果学嵌入式,那么Qt就是其中一个大方向了
本专栏的使用的
- Linux操作系统是Ubuntu18.4?
- Qt的版本是Qt5.12.9?
?首先我们新建一个qt项目,方法如下
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_OBJECT
public:
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的特点,下一章我们在此基础上继续拓展一下
文章来源:https://blog.csdn.net/weixin_73901182/article/details/134960074
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!