Qt6.5示例:QMainWindow集成QToolBar工具栏

1. QToolBar简介

QToolBar是Qt框架中用于创建工具栏的类。工具栏通常用于提供对应用程序功能的快速访问,可以包含按钮、下拉框、标签等各种控件。

QToolBar 具有组织控件、添加操作项、添加分隔符、自定义部件、移动与尺寸调整、信号与槽机制等功能。通过合理地使用QToolBar,开发人员可以创建高效且用户友好的工具栏,提高应用程序的用户界面效率和用户体验。

2. 如何使用QToolBar

头文件:#include <QToolBar>

cmake:find_package(Qt6 REQUIRED COMPONENTS Widgets)

              target_link_libraries(mytarget PRIVATE Qt6::Widgets)

qmake:QT += widgets

继承于:QWidget

3. 示例说明

本示例演示了如何在QMainWindow主界面插入一个QToolBar工具栏控件。

在这个例子中,我们首先创建一个名为IMainWindow的类,该类继承于QMainWindow。在IMainWindow的构造函数中,我们创建一个QToolBar实例,并向其添加几个Action动作。

然后,我们使用addToolBar()方法将工具栏添加到主窗口。最后,我们在main()函数中创建一个QApplication实例,并显示我们的窗口。

4. 示例执行效果

5. 示例代码

  • imainwindow.h:

#ifndef IMAINWINDOW_H
#define IMAINWINDOW_H
#include <QMainWindow>
#include <QToolBar>

class IMainWindow : public QMainWindow
{
    Q_OBJECT
public:
    IMainWindow(QWidget *parent = nullptr);
    ~IMainWindow();

private slots:
    void slotOpenTriggered(bool checked = false);

private:
    QToolBar *m_pToolBar{nullptr};

};
#endif // IMAINWINDOW_H
  • imainwindow.cpp:

#include "imainwindow.h"
#include <QApplication>
#include <QStyle>
#include <QMessageBox>

IMainWindow::IMainWindow(QWidget *parent)
    : QMainWindow(parent)
{
   // 设置标题和调整大小
    this->setWindowTitle("欢迎关注公众号(20YC编程)");
    this->resize(680, 320);

    // 创建工具栏
    m_pToolBar = new QToolBar(this);

    // 创建工具栏按钮
    m_pToolBar->addAction(QIcon(QApplication::style()->standardIcon(QStyle::SP_DirOpenIcon)), "打开", this, &IMainWindow::slotOpenTriggered);
    m_pToolBar->addSeparator();
    m_pToolBar->addAction(QIcon(QApplication::style()->standardIcon(QStyle::SP_MediaPlay)), "播放");
    m_pToolBar->addAction(QIcon(QApplication::style()->standardIcon(QStyle::SP_MediaStop)), "停止");
    m_pToolBar->addAction(QIcon(QApplication::style()->standardIcon(QStyle::SP_MediaPause)), "暂停");
    m_pToolBar->addSeparator();
    m_pToolBar->addAction(QIcon(QApplication::style()->standardIcon(QStyle::SP_MediaSkipBackward)), "跳到开始");
    m_pToolBar->addAction(QIcon(QApplication::style()->standardIcon(QStyle::SP_MediaSeekBackward)), "后退");
    m_pToolBar->addAction(QIcon(QApplication::style()->standardIcon(QStyle::SP_MediaSeekForward)), "前进");
    m_pToolBar->addAction(QIcon(QApplication::style()->standardIcon(QStyle::SP_MediaSkipForward)), "跳到结束");
    m_pToolBar->addAction(QIcon(QApplication::style()->standardIcon(QStyle::SP_MediaVolume)), "扬声器:播放");
    m_pToolBar->addAction(QIcon(QApplication::style()->standardIcon(QStyle::SP_MediaVolumeMuted)), "扬声器:静音");

    // 添加工具栏到主界面。
    this->addToolBar(m_pToolBar);
}

IMainWindow::~IMainWindow()
{
}

// 槽函数
void IMainWindow::slotOpenTriggered(bool checked)
{
    QMessageBox::information(this, "QToolBar演示", "你点击了一个工具栏按钮");
}
  • main.cpp

#include "imainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    IMainWindow w;
    w.show();
    return a.exec();
}

-【End】-

#想了解更多精彩内容,关注下方公众号,还有示例源码、开发工具免费下载。

喜欢本文章,记得点赞、分享、关注哦~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天恩软件工作室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值