⼯具栏
⼯具栏是应⽤程序中集成各种功能实现快捷键使⽤的⼀个区域。可以有多个,也可以没有,它并不是应⽤程序中必须存在的组件。它是⼀个可移动的组件,它的元素可以是各种窗⼝组件,它的元素通常以图标按钮的⽅式存在。如下图为⼯具栏的⽰意图:
![![[Pasted image 20250423103543.png]]](https://i-blog.csdnimg.cn/direct/667db6c4a151456aba57fdc425f16ab1.png)
创建⼯具栏
调⽤QMainWindow类的addToolBar()函数来创建⼯具栏,每增加⼀个⼯具栏都需要调⽤⼀次该函数。
如添加两个⼯具栏:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QToolBar>
#include <QDebug>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
//工具栏手动创建
QToolBar* toolBar = new QToolBar();
this->addToolBar(toolBar);
QAction* action1 = new QAction("保存");
toolBar->addAction(action1);
QAction* action2 = new QAction("打开");
toolBar->addAction(action2);
connect(action1, &QAction::triggered, this, &MainWindow::handle1);
connect(action2, &QAction::triggered, this, &MainWindow::handle2);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::handle1()
{
qDebug() << "handle1";
}
void MainWindow::handle2()
{
qDebug() << "handle2";
}
使用QToolBar表示工具栏对象
一个窗口可以有多个工具栏,也可以没有
工具栏往往也可以手动移动位置
添加菜单栏,使用的是setMenuBar
添加工具栏,使用的是addToolBar
菜单栏只能有一个.重复设置,新的替换旧的(set就包含了"替换")
工具栏,可以有多个.重复设置,就会出现多个工具栏不包含“替换”
![![[Pasted image 20250423124419.png]]](https://i-blog.csdnimg.cn/direct/47b121897dea4ec789c079f49ef5f0ff.png)
action1->setIcon(QIcon(":/save.png"));
action2->setIcon(QIcon(":/new.png"));
QAction如果出现在工具栏上,也会产生图标覆盖文本这样的情况
会以toolTip的方式来存在
鼠标悬停上去的时候,就会显示出一段提示信息
另外也可以手动设置这里的toolTip
![![[Pasted image 20250423124838.png]]](https://i-blog.csdnimg.cn/direct/dd1432ee3fd44fa2973dbce0c98fd6db.png)
action1->setToolTip("点击这里保存文件");
![![[Pasted image 20250423125513.png]]](https://i-blog.csdnimg.cn/direct/3103d5b919fe4153b00336b4fdfd9a4d.png)
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QToolBar>
#include <QDebug>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
//创建菜单栏
QMenuBar* menuBar = this->menuBar();
this->setMenuBar(menuBar);
//创建菜单
QMenu* menu = new QMenu("文件");
menuBar->addMenu(menu);
//工具栏手动创建
QToolBar* toolBar = new QToolBar();
this->addToolBar(toolBar);
QAction* action1 = new QAction("保存");
QAction* action2 = new QAction("打开");
action1->setToolTip("点击这里保存文件");
action1->setIcon(QIcon(":/save.png"));
action2->se

最低0.47元/天 解锁文章
1732

被折叠的 条评论
为什么被折叠?



