QToolBar 是 Qt 框架中用于创建工具栏的类,它提供了一种方便的方式来组织和展示工具按钮、工具部件等。工具栏通常用于提供对应用程序功能的快速访问。
QToolBar 的基本用法:
 
-  创建工具栏: QToolBar *toolbar = new QToolBar("MyToolbar", this);
-  添加工具按钮: QAction *actionOpen = toolbar->addAction(QIcon(":/images/open.png"), "Open"); connect(actionOpen, &QAction::triggered, this, &MyClass::openFile);这里, open.png是一个图标文件的路径,openFile是一个槽函数,用于处理打开文件的操作。
-  添加分隔符: toolbar->addSeparator();
-  设置工具栏属性: toolbar->setMovable(false); // 设置工具栏不可移动 toolbar->setIconSize(QSize(32, 32)); // 设置图标大小
-  添加部件: QWidget *customWidget = new QWidget; // 添加自定义部件到工具栏 toolbar->addWidget(customWidget);
QToolBar接口说明
QToolBar 是 Qt 框架中用于创建工具栏的类。它提供了一系列接口和功能,用于定制和管理工具栏的外观和行为。以下是一些常用的 QToolBar 接口:
构造函数
-  构造函数: QToolBar(const QString &title, QWidget *parent = nullptr)- 描述:构造一个具有给定标题的工具栏。
- 参数: - title:工具栏的标题。
- parent:父窗口指针。
 
 
常用成员函数
-  addAction:QAction *addAction(const QIcon &icon, const QString &text = QString())- 描述:添加一个带有图标和文本的动作按钮。
- 参数: - icon:按钮的图标。
- text:按钮的文本。
 
 
-  addSeparator:QWidget *addSeparator()- 描述:在工具栏中添加一个分隔符。
 
-  addWidget:QWidget *addWidget(QWidget *widget)- 描述:在工具栏中添加一个自定义部件。
- 参数: - widget:要添加的部件。
 
 
-  clear:void clear()- 描述:清除工具栏上的所有动作和部件。
 
-  setMovable:void setMovable(bool movable)- 描述:设置工具栏是否可以移动。
 
-  setIconSize:void setIconSize(const QSize &iconSize)- 描述:设置工具栏中图标的大小。
 
-  setToolButtonStyle:void setToolButtonStyle(Qt::ToolButtonStyle style)- 描述:设置工具栏中工具按钮的样式。
 
-  setOrientation:void setOrientation(Qt::Orientation orientation)- 描述:设置工具栏的方向。
 
信号
-  actionTriggered信号:void actionTriggered(QAction *action)- 描述:当工具栏上的动作按钮被触发时发出该信号。
- 参数: - action:被触发的动作按钮。
 
 
这个示例创建了一个简单的主窗口,其中包含一个工具栏,工具栏中有打开和保存按钮,以及一个自定义部件。点击按钮时会弹出消息框。
QToolBar开发实例
#include <QApplication>
#include <QMainWindow>
#include <QToolBar>
#include <QAction>
#include <QIcon>
#include <QMessageBox>class MyClass : public QMainWindow {Q_OBJECTpublic:MyClass(QWidget *parent = nullptr) : QMainWindow(parent) {// 创建工具栏QToolBar *toolbar = new QToolBar("MyToolbar", this);toolbar->setIconSize(QSize(32, 32));  // 设置图标大小// 添加打开按钮QAction *actionOpen = toolbar->addAction(QIcon(":/images/open.png"), "Open");connect(actionOpen, &QAction::triggered, this, &MyClass::openFile);// 添加保存按钮QAction *actionSave = toolbar->addAction(QIcon(":/images/save.png"), "Save");connect(actionSave, &QAction::triggered, this, &MyClass::saveFile);// 添加分隔符toolbar->addSeparator();// 添加自定义部件QWidget *customWidget = new QWidget;customWidget->setFixedSize(100, 30);toolbar->addWidget(customWidget);// 将工具栏添加到主窗口addToolBar(toolbar);}private slots:void openFile() {QMessageBox::information(this, "Open", "Open file");}void saveFile() {QMessageBox::information(this, "Save", "Save file");}
};int main(int argc, char *argv[]) {QApplication a(argc, argv);MyClass window;window.show();return a.exec();
}#include "main.moc"
这个示例创建了一个简单的主窗口,其中包含一个工具栏,工具栏中有打开和保存按钮,以及一个自定义部件。点击按钮时会弹出消息框。