社区
Qt
帖子详情
QT的emit是啥语法?
shootingstars
2012-06-05 02:28:54
比如下述语句:
emit mySignal();
这个emit是个啥?宏吗?它的定义是什么?
或者它必须经过moc编译?最后变为C++是什么样子的语句?
...全文
2494
18
打赏
收藏
QT的emit是啥语法?
比如下述语句: emit mySignal(); 这个emit是个啥?宏吗?它的定义是什么? 或者它必须经过moc编译?最后变为C++是什么样子的语句?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Emma_8
2014-07-15
打赏
举报
回复
触发后面的信号?
zhu_xz
2012-06-06
打赏
举报
回复
1
首先你的类声明里面得定义一个信号:
signals:
void mySignal();
当moc执行的时候,就会自动生成一个签名为void mySignal()的函数,并且添加相应代码以便进行信号和槽的连接。
而emit关键字其实仅仅起着修饰的作用,所以以下两行是一样的:
emit mySignal();
mySignal();
本质上,这个由moc生成的mySignal()函数会被调用,然后Qt内部会调用预期连接的所有slot。
wshn13
2012-06-06
打赏
举报
回复
emit 只是在rcc处理带Q_OBJECT的文件时候起标识作用 在我们emit some_signal() 时候 就相当于直接调some_signal()函数 在我们使用时候最好还是带emit吧 一目了然
wshn13
2012-06-06
打赏
举报
回复
#define emit
tst1255
2012-06-06
打赏
举报
回复
呵呵,我是来接分的。
谢谢楼主。
AAA20090987
2012-06-06
打赏
举报
回复
emit是一个宏定义,是给人看的,C++的编辑器直接忽略它
meng_meng21
2012-06-06
打赏
举报
回复
不明白什么
jdwx
2012-06-05
打赏
举报
回复
Qt没有编译器,不过听说要自己做编译器了,不知道是不是真的。
emit 就是发射信号的意思,一个宏。
zhengjiankang
2012-06-05
打赏
举报
回复
qt 有qt的编译器。moc。不就是么。
你没有qt的编译器能编译qt project么
shootingstars
2012-06-05
打赏
举报
回复
to zhengjiankang:
问题是QT是C++写的,如果C++编译器不支持,不是什么语法都可以的。
zhengjiankang
2012-06-05
打赏
举报
回复
没有什么是C++编译的。。
都是编译器编译的。
只要编译器支持。
你什么语法都可以。
shootingstars
2012-06-05
打赏
举报
回复
这个代码最后是由C++编译的吗?如果是,最后不论是宏还是其他的方式,它扩展出来是什么样子?(这个必须符合C++语法)
看山不是山看水不是水
2012-06-05
打赏
举报
回复
这不是c++的语法 是Qt框架库里扩展的机制,就当是宏理解好了 emit 就是“发射”;使用的时候必须Q_OBJECT宏添加进来,或者使用QObject的静态函数
yingwenzifu
2012-06-05
打赏
举报
回复
emit 可以当作宏定义来理解,可以看看QObject定义的activate_signal的成员函数~~
shootingstars
2012-06-05
打赏
举报
回复
嗯。那emit是个什么东西呢?这个东西明显不合符c/c++的语法啊。
shen_wei
2012-06-05
打赏
举报
回复
类似。。SendMessage PostMessage
shootingstars
2012-06-05
打赏
举报
回复
我不是问如何连接信号和槽,而是希望知道emit到底是个啥。。。
shen_wei
2012-06-05
打赏
举报
回复
在你的程序中应该能找到类似这样的语句:
connect(obj,SIGNAL(changeCurrentShape(*)),anotherobj,SLOG(FUN(*)))
当执行到 emit changeCurrentShape(Shape::Triangle) 时,QT的信号槽机制,会自动触发FUN()函数
Qt
静态函数发送信号
讲述
Qt
如何实现静态函数中发送信号,对应文章: https://lizhifun.blog.csdn.net/article/details/112631489
Qt
中connect函数不能传递参数的两种解决方法 - aRooooooba的博客 - CSDN博客1
//设置按钮的(x,y)坐标、长、宽//设置按键上显示的文字//将信号和槽连接connect(push, SIGNAL(clicked()), this, SL
基于
QT
的忙加载动画效果
基于
QT
的忙加载动画效果,类似于网络正在加载的转圈圈效果
Qt
不同类进行信号与槽建立,并传递参数
Qt
不同类进行信号与槽建立,并传递参数,
Qt
不同类之间槽函数连接
Py
QT
5 e
mit
和 connect的用法详解
今天小编就为大家分享一篇Py
QT
5 e
mit
和 connect的用法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
Qt
16,818
社区成员
26,684
社区内容
发帖
与我相关
我的任务
Qt
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
复制链接
扫一扫
分享
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章