Qt QAction绑定事件响应

本文介绍如何在Qt应用程序中使用mainwindow类创建菜单,并通过C++代码实现菜单项与事件的绑定,展示了从头文件到源文件的完整过程,包括信号与槽的连接,以及简单的事件响应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

打开mainwindow.h头文件添加代码

#ifndef MAINWINDOW_H
#define MAINWINDOW_H


#include <QMainWindow>


namespace Ui {
class MainWindow;
}


class MainWindow : public QMainWindow
{
    Q_OBJECT


public:
    explicit MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

//添加下面的代码
private slots:
    void onaction_new_file();

private:
    Ui::MainWindow *ui;
};


打开mainwindow.cpp文件


    #include "mainwindow.h"
#include "ui_mainwindow.h"
#include "QMenu"
#include "QMenuBar"
#include "QAction"
#include "QtDebug"


MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{


    QMenuBar *menubar=new QMenuBar;
    QMenu *menu=new QMenu;
    QAction *action_new_file=new QAction();
    
    menu->setTitle(tr("File"));
    //this->menuBar()的作用是跟mainwindow相关联让其作为父级,不然不显示。
    //menubar=this->menuBar();
    setMenuBar(menubar);


    //addmenu()将菜单追加到菜单栏。
    menubar->addMenu(menu);


    action_new_file->setText(tr("new file"));
   
    menu->setToolTipDuration(2000);
    menu->setToolTipsVisible(true);
    action_new_file->setToolTip(tr("C++ create new file action"));
    //把具体操作添加到菜单中
    menu->addAction(action_new_file);
 //action绑定事件
 //action_new_file是所要绑定的对象
 //SIGNAL(triggered())事件触发
 //SLOT(onaction_new_file())绑定响应的函数
  connect(action_new_file,SIGNAL(triggered()),this,SLOT(onaction_new_file()));
    ui->setupUi(this);

}
void MainWindow::onaction_new_file(){
qDebug("ads");
}
indow::~MainWindow()
{
    delete ui;
}




点击测试
在这里插入图片描述
事件onaction_new_file()响应在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值