Qt之【直接点击Qmenu类的对象 实现程序退出或关闭功能】

Qt之【直接点击Qmenu类的对象 实现程序退出和关闭功能】


前言

在使用Qt开发MainWindow界面是,想在MenuBar下创建一个Qmenu类的对象,直接点击Qmenu类即可实现退出程序的功能
在这里插入图片描述


如何实现?

Qmenu类下有一个信号为 aboutToShow,该信号在Qmenu展开时触发。
思路:可以创建一个Qmenu,下面不放置任何QAction,使用connect函数将Qmenu的aboutToShow信号和QApplication的quit槽进行连接。
首先在.ui文件下添加一个名为menu的对象,属于Qmenu类
在这里插入图片描述
然后在.cpp文件下,MainWindow构造函数里添加connect函数

代码如下:

//运行环境:Qt 6.3.0
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    connect(ui->menu,SIGNAL(aboutToShow()),qApp,SLOT(quit())); //connect连接Qmenu的aboutToShow()信号与qApp的quit()槽函数
}

细节解释

1、本例中‘qApp’是一个全局指针,其指向QApplication。
2、本例中使用的QApplication的槽函数quit(),也可以用槽函数exit(int)来代替。
3、测试直接在.ui文件的信号槽编辑栏里创建Qmenu的aboutToShow信号和QApplication的quit槽的连接,单击退出按钮无法实现退出功能(原因未知)。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值