1. 程式人生 > 其它 >qt 手動設定住主視窗的選單欄、工具欄、狀態列

qt 手動設定住主視窗的選單欄、工具欄、狀態列

#pragma once

#include <QtWidgets/QMainWindow>
#include "ui_mainwindow.h"
#include <QMenuBar> //選單欄
#include <QMenu> //選單
#include <QAction> //選單裡面的選項
#include <QToolBar> //工具欄
#include <QToolButton> // 工具按鈕
#include <QStatusBar> //狀態列
#include <QTextEdit> //多行文字框
#include <QLabel>
class
mainwindow : public QMainWindow { Q_OBJECT public: mainwindow(QWidget *parent = Q_NULLPTR); void init(); //初始化 void test(); //測試 呼叫 private: Ui::mainwindowClass ui; private: QMenuBar * mainMenuBar; QMenu * fileMenu; QAction * newaction; QAction * saveaction;c QAction
* closeaction; QMenu * editMenu; QAction * copyaction; QMenu * buildMenu; QAction * startaction; QToolBar * mainToolBar; QToolButton * opentbtn; QStatusBar * minaStatusBar; QLabel * labe1; };

原始檔

#include "mainwindow.h"

mainwindow::mainwindow(QWidget *parent)
    : QMainWindow(parent)
{
    ui.setupUi(
this); init(); test(); } void mainwindow::init() { mainMenuBar = new QMenuBar; //建立選單欄 mainToolBar = new QToolBar; //建立工具欄 minaStatusBar = new QStatusBar; //建立狀態列 } void mainwindow::test() { this->setMenuBar(mainMenuBar); //新增選單欄 this->addToolBar(mainToolBar); //新增工具欄 this->setStatusBar(minaStatusBar); //新增狀態列 //選單欄設定 fileMenu = mainMenuBar->addMenu(QString::fromLocal8Bit("檔案")); //用這種方式建立選單 newaction = new QAction(QString::fromLocal8Bit("新建檔案")); //建立選單項 closeaction = new QAction(QString::fromLocal8Bit("關閉檔案")); saveaction = new QAction(QString::fromLocal8Bit("儲存檔案")); fileMenu->addAction(newaction); //新增選單項 fileMenu->addAction(closeaction); fileMenu->addAction(saveaction); editMenu = mainMenuBar->addMenu(QString::fromLocal8Bit("編輯")); //用這種方式建立選單 copyaction = new QAction(QString::fromLocal8Bit("拷貝檔案")); editMenu->addAction(copyaction); //新增選單選項 buildMenu = mainMenuBar->addMenu(QString::fromLocal8Bit("構建")); startaction = new QAction(QString::fromLocal8Bit("啟動")); buildMenu->addAction(startaction); //新增選單選項 //工具欄設定 opentbtn = new QToolButton; //mainToolBar opentbtn->setText(QString::fromLocal8Bit("點選")); mainToolBar->addWidget(opentbtn); //狀態列設定 labe1 = new QLabel; labe1->setText(QString::fromLocal8Bit("雀巢金牌速溶咖啡")); minaStatusBar->addWidget(labe1); }