qmainwindow 标题栏_子类化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;

}

运行之后,如图:

bd9b38583d089bcc52a57fc7b268d44e.png

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

9832907943262f5f410232fced27375c.png

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

31bc819434e2ddde0162427185079a10.png

9e5a07b8979b75ddc9c7058724df53bc.png

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

2ee231e0e5c28090ca9bf2ceb788f150.png

图片的路径怎么看呢?可以看出,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);

}

运行如图:84c3d03e2a067fdf19d248b9b3980dc6.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值