diff --git a/qt_easy/QToolBarE/QToolBarE.pro b/qt_easy/QToolBarE/QToolBarE.pro new file mode 100644 index 0000000000000000000000000000000000000000..12c4569f7c13d0d71ada11f5a96623ee65054ecc --- /dev/null +++ b/qt_easy/QToolBarE/QToolBarE.pro @@ -0,0 +1,19 @@ +QT += core gui + +greaterThan(QT_MAJOR_VERSION, 4): QT += widgets + +CONFIG += c++11 + +# You can make your code fail to compile if it uses deprecated APIs. +# In order to do so, uncomment the following line. +#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 + +SOURCES += main.cpp + +# Default rules for deployment. +qnx: target.path = /tmp/$${TARGET}/bin +else: unix:!android: target.path = /opt/$${TARGET}/bin +!isEmpty(target.path): INSTALLS += target + +RESOURCES += \ + resource.qrc diff --git a/qt_easy/QToolBarE/Save.png b/qt_easy/QToolBarE/Save.png new file mode 100644 index 0000000000000000000000000000000000000000..872db31e65fd18e2b29bb5202036163b1b1988c7 Binary files /dev/null and b/qt_easy/QToolBarE/Save.png differ diff --git a/qt_easy/QToolBarE/main.cpp b/qt_easy/QToolBarE/main.cpp new file mode 100644 index 0000000000000000000000000000000000000000..7d5ef1e02a787d9b9fd5b51f81b133b10de81aed --- /dev/null +++ b/qt_easy/QToolBarE/main.cpp @@ -0,0 +1,56 @@ +#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)); // 设置图标大小 + toolbar->setToolButtonStyle(Qt::ToolButtonTextUnderIcon); + // 添加打开按钮 + 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" diff --git a/qt_easy/QToolBarE/open.png b/qt_easy/QToolBarE/open.png new file mode 100644 index 0000000000000000000000000000000000000000..7f2272872168c08eb106669151f7cea344d7f683 Binary files /dev/null and b/qt_easy/QToolBarE/open.png differ diff --git a/qt_easy/QToolBarE/resource.qrc b/qt_easy/QToolBarE/resource.qrc new file mode 100644 index 0000000000000000000000000000000000000000..c5beb21a59ff6d60aced1707acc36f1dc6ae612e --- /dev/null +++ b/qt_easy/QToolBarE/resource.qrc @@ -0,0 +1,6 @@ + + + open.png + Save.png + +