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 @   雾枫  阅读(360)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
点击右上角即可分享
微信分享提示