QT-選單欄-狀態列-工具欄
阿新 • • 發佈:2022-04-01
#include "mainwindow.h" #include "ui_mainwindow.h" #include <QDockWidget> #include <QLabel> #include <QMenuBar> #include <QPushButton> #include <QStatusBar> #include <QTextEdit> #include <QToolBar> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); // 重置視窗大小 this->setFixedSize(800, 600); // 建立選單欄,原始碼已經掛在物件樹,所以不需要制定物件樹 QMenuBar * bar = menuBar(); // 將選單欄放到視窗中 setMenuBar(bar); // 建立選單 QMenu * fileMenu = bar->addMenu("檔案"); QMenu * editMenu = bar->addMenu("編輯"); // 建立選單項 fileMenu->addAction("新建"); // 新增分隔符 fileMenu->addSeparator(); fileMenu->addAction("開啟"); editMenu->addAction("***"); // 建立工具欄,可以有多個,需要指定物件樹 QToolBar * toolBar = new QToolBar(this); addToolBar(Qt::LeftToolBarArea, toolBar); // 只允許左右停靠 toolBar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea); toolBar->setFloatable(false); // 設定移動 toolBar->setMovable(false); // 設定工具欄的內容 QAction * newAction = fileMenu->addAction("新建"); QAction * openAction = fileMenu->addAction("dakai"); toolBar->addAction(newAction); toolBar->addSeparator(); toolBar->addAction(openAction); // 工具欄新增空間 QPushButton * btn = new QPushButton("aa", this); toolBar->addWidget(btn); // 狀態列 QStatusBar * stBar = new QStatusBar(this); setStatusBar(stBar); QLabel * label = new QLabel("Message", this); stBar->addWidget(label); QLabel * label2 = new QLabel("Status", this); stBar->addPermanentWidget(label2); // 鉚接部件(浮動視窗) QDockWidget * dock = new QDockWidget("浮動", this); addDockWidget(Qt::TopDockWidgetArea, dock); dock->setAllowedAreas(Qt::LeftDockWidgetArea); // 設定中心部件(核心視窗) QTextEdit * edit = new QTextEdit(this); setCentralWidget(edit); } MainWindow::~MainWindow() { delete ui; } ![](https://img2022.cnblogs.com/blog/2815986/202204/2815986-20220401221150166-78519496.png)