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);

    
}

 

posted @ 2022-05-17 15:30  雾枫  阅读(324)  评论(0编辑  收藏  举报