千家信息网

子类化QMainWindows,添加菜单栏及工具栏,并添加图标

发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,mymainwindow.cpp#include "mymainwindow.h"#include "ui_mymainwindow.h"//#include //使用前向声明,
千家信息网最后更新 2025年12月03日子类化QMainWindows,添加菜单栏及工具栏,并添加图标

mymainwindow.cpp

#include "mymainwindow.h"#include "ui_mymainwindow.h"//#include            //使用前向声明,不使用头文件包含的形式,主要是为了编译更快class QMenuBar;//类的前向声明myMainWindow::myMainWindow(QWidget *parent) :    QMainWindow(parent),    ui(new Ui::myMainWindow){    ui->setupUi(this);    openAction = new QAction(tr("&open"),this);    openAction->setShortcut(QKeySequence::Open);//动作的快捷键;比如:open快捷键 Ctrl+O(Qt的QKeySequence定义的)    openAction->setStatusTip(tr("open a file"));//添加状态栏的提示语句        file = menuBar()->addMenu(tr("&File"));    file->addAction(openAction);    toolBar = addToolBar(tr("&File"));    toolBar->addAction(openAction);}myMainWindow::~myMainWindow(){    delete ui;}

运行之后,如图:


添加图标:1、首先要使用Qt的资源文件。在QtCreator的项目上右击,选择New File...,然后选择resource file。

2、然后点击choose,命名,选择好位置,下一步,完成即可。为了使用方便,我就把这个文件建在根目录下,建议应该在仔细规划好文件之后,建在专门的rsources文件夹下。完成之后,生成的是一个.qrc文件,qrc其实是Qt Recource Collection的缩写。

3、点击Add按钮,首先选择Add prefix,然后把生成的/new/prefix改成/。这是prefix就是以后使用图标时需要提供的前缀,以/开头。添加过prefix之后,然后在工程文件中添加一个图标,再选择Add file,选择那个图标。这样完成之后保存qrc文件即可。

图片的路径怎么看呢?可以看出,Qt的资源文件视图使用树状结构,根是/,叶子节点就是图片位置,连接在一起就是路径。比如这张图片的路径就是/resource/Open.png。

4、添加代码

class QIcon;  //类的前向声明  ... myMainWindow::myMainWindow(QWidget *parent) :    QMainWindow(parent),    ui(new Ui::myMainWindow){    ui->setupUi(this);    openAction = new QAction(tr("&open"),this);    openAction->setShortcut(QKeySequence::Open);//动作的快捷键;比如:open快捷键 Ctrl+O(Qt的QKeySequence定义的)    openAction->setStatusTip(tr("open a file"));//添加状态栏的提示语句       openAction->setIcon(QIcon(":/resource/open.png"));//添加这句代码,添加图标        file = menuBar()->addMenu(tr("&File"));    file->addAction(openAction);    toolBar = addToolBar(tr("&File"));    toolBar->addAction(openAction);}

运行如图:


文件 选择 图标 就是 快捷键 图片 路径 代码 位置 动作 状态 语句 资源 如图 提示 生成 运行 使用方便 前缀 叶子 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 服务器部署.net 辽宁省网络安全保卫办 cfhd对局服务器获取失败 服务器工作日志 大成老旧刊全文数据库个人申请 沃尔玛科技部招软件开发 潍坊派森网络技术有限公司 网络安全宣传周网络知识竞赛 网络安全策略可视化管理软件 做好网络安全工作 确保 介绍一下国家网络安全宣传周 数据库大数据科学专业大学排名 数据库系统工程师是干什么的 学习数据库技术在哪里 dede 数据库说明 软件开发开始怎么找工作 卖云服务器提成一般多少 网络安全为主题的演讲稿 软件开发款应计入哪个科目 河南综合软件开发价格对比 数据库缩写 数据库表更改操作时发送信息 主流软件开发过程 佛山通讯软件开发价格 软件开发从何学起知乎 查数据库某表空间表大小 安图恩一直连接服务器 上海兆新网络技术公司 db数据库文件怎么打开 陕西网络设置服务器无响应时间
0