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); }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程