qmenubar 添加按钮_创建QWindow,自带菜单栏,工具栏等

本文介绍了如何使用QWindow的子类QMainWindow来创建一个带有菜单栏、工具栏、状态栏的窗口应用。详细讲述了如何添加菜单、菜单项,以及如何响应菜单项的触发事件。此外,还展示了如何添加工具栏、按钮,并实现按钮的点击事件。同时,文章提及了QStatusBar的使用,以及如何添加和布局状态栏中的控件。最后,讨论了浮动窗口、对话框(模态与非模态)以及标准对话框和文件对话框的应用。
摘要由CSDN通过智能技术生成

QWindow实际上是在QWidget基础上派生出,自带了菜单栏,工具栏,状态栏等等的一个复杂的QWidget

创建项目

首先,创建项目时,从原来的QWidget变更为QMainWindow

菜单栏

获取菜单栏

QMainWindow自带一个菜单栏,通过其成员函数menuBar()可获得到菜单栏的对象指针。

菜单栏的类为QMenuBar,需要在开头include它,然后在MainWindow构造函数里写

QMenuBar *mBar=menuBar();

添加菜单

QMenuBar菜单栏中可以添加菜单,使用QmenuBar对象中的addMenu成员函数,它返回一个QMenu对象指针。

QMenu *pFile=mBar->addMenu("文件");

添加菜单项

QMenu菜单中可以添加菜单项,使用QMenu对象中的addAction成员函数,它返回一个QAction对象指针

QAction *pNew=pFile->addAction("新建");

添加菜单项的触发事件

connect(pNew,&QAction::triggered,[=](){

qDebug("新建被按下");

});

注意lambda表达式需要在配置文件中写入CONFIG += C++11

运行结果:

当我们按下新建时,将触发控制台输出代码如下,

添加分割线

pFile->addSeparator();//添加分割线

更简单的菜单项添加

connect(pFile->addAction("打开"),&QAction::triggered,[=](){

dDebug("打开被按下");

});

上述代码可一步添加菜单项并绑定信号和槽函数。

工具栏

如下如,上面是菜单栏,下面则是工具栏

image.png

一般地,一个程序中菜单栏唯一,工具栏不唯一,所以在QWindow中,自带成员函数addToolBar可自由添加工具栏

添加工具栏

QToolBar *toolBar=addToolBar("toolBar");

添加菜单项

toolBar->addAction(pNew);

由此可以看出,工具栏和菜单项类似,也可添加动作

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值