QT 中 Mainwindow 菜单的使用和触发

QT 中 Mainwindow 菜单的使用和触发

在创建一个新的QT设计师类后,选择默认的Mainwindow模板,在Mainwindow.ui中,可以发现左上角有菜单选项,输入控件名字和对象名,一个菜单控件就创建成功了。在这里插入图片描述
当创建完成后,我们想要对菜单控件进行操作,就需要利用到QT中的SIGNAL\SLOT机制,与按键不同的是,在UI界面中构建好菜单后,程序会自动在ui.h中完成信号函数的声明,它们同一被命名为
void triggered(bool checked = false);
有了信号以后,槽需要我们自己去声明和定义想要进行的操作,使用connect函数将信号和槽连接。需要注意的是,信号函数和槽函数的参数类型必须一致。

connect(ui->菜单名,SIGNAL(triggered(bool)),this,SLOT()));

Connect函数

connect是QT中最常用的函数之一,是将信号和槽连接起来的桥梁。connect用法很简单,函数原型为:

static QMetaObject::Connection connect(const QObject *sender, const char *signal,const QObject *receiver, const char *member, Qt::ConnectionType = Qt::AutoConnection);

参数说明:
第一个参数是发射信号的对象;
第二个参数为信号函数;
第三个参数为槽的对象;
第四个参数为槽函数;
当发射信号和槽函数处于同一个类时,槽对象可以使用this指针,而this指针作为参数时则可以省略不写。槽函数也可以为另一个信号函数,从而实现信号与信号的互联。对于信号与槽,必须使用SIGNAL()和SLOT()宏,它们将参数转化为const char *类型。
回到菜单控制
当连接成功后,菜单就可以响应使用了,因为菜单的响应函数是Bool型,所以对应的槽函数也必须是Bool型,如果想在菜单上实现其他操作,需要用一个中介函数来转发。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值