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
是 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
:被触发的动作按钮。这个示例创建了一个简单的主窗口,其中包含一个工具栏,工具栏中有打开和保存按钮,以及一个自定义部件。点击按钮时会弹出消息框。
#include
#include
#include
#include
#include
#include
class MyClass : public QMainWindow {
Q_OBJECT
public:
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"
这个示例创建了一个简单的主窗口,其中包含一个工具栏,工具栏中有打开和保存按钮,以及一个自定义部件。点击按钮时会弹出消息框。