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】-
#想了解更多精彩内容,关注下方公众号,还有示例源码、开发工具免费下载。
喜欢本文章,记得点赞、分享、关注哦~