QT中 信号 槽 与C++的区别

 我来答
晰美酒窝
2015-06-09 · TA获得超过6731个赞
知道大有可为答主
回答量:4544
采纳率:27%
帮助的人:1504万
展开全部

Qt是用C++编写的库,没有C++就没有Q

补充:qt的程序在编译之前需要经过qt的处理器处理一遍,你可以将connect,SIGNAL,SLOT之类的理解为宏,在经过处理之后的程序中,这些都会转换成一些列的c++的语句,用来完成事件的绑定和触发。本质还是c++,只是中间又加了一层翻译的过程。

补充:Qt(官方发音同cute发音为 /kju:t/,虽然也俗称为Q.T.发音为 /kju:tiː/")是一个跨平台的C++应用程序开发框架。广泛用于开发GUI程序,这种情况下又被称为部件工具箱。也可用于开发非GUI程序,比如控制台工具和服务器。

5230娘
2011-01-28 · 超过14用户采纳过TA的回答
知道答主
回答量:38
采纳率:0%
帮助的人:0
展开全部
信号与C++是无关的,它独立于C++语言。槽则是普通的C++成员函数,唯一特殊的地方就是它可以与多个信号相关联,当信号被发射时,它就会被调用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ac22941
2011-01-28 · TA获得超过213个赞
知道答主
回答量:132
采纳率:0%
帮助的人:0
展开全部
qt的程序在编译之前需要经过qt的处理器处理一遍,你可以将connect,SIGNAL,SLOT之类的理解为宏,在经过处理之后的程序中,这些都会转换成一些列的c++的语句,用来完成事件的绑定和触发。本质还是c++,只是中间又加了一层翻译的过程。
具体可以看看qt信号和槽的实现原理。
http://blog.csdn.net/dfman1978/archive/2010/09/19/5894827.aspx
http://www.javaeye.com/topic/683959
http://sinfrancis.javaeye.com/blog/484426
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友54fd645
2011-01-28 · TA获得超过426个赞
知道答主
回答量:40
采纳率:100%
帮助的人:19.3万
展开全部
信号和槽是QT的一种机制,是用C++实现的。
C++是一种语言,QT是使用C++语言来写的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
krnvta
2011-01-29 · TA获得超过1444个赞
知道小有建树答主
回答量:1188
采纳率:50%
帮助的人:278万
展开全部
信号和槽 是QT类库与其他类本质的区别,也是QT特有的
定义一个信号或槽你的类直接或者间接继承QObject,在类的最开始(私有)总价定义Q_OBJECT宏

之后你就可以定义信号和槽了
定义信号用single关键字,定义槽用slot关键字,他们可以是C++任意类型(公有、私有、保护)
定义信号后你应该在适当的时候发射信号,如下
emit XXX();
而槽函数可以像C++普通函数一样被类调用,也可以与信号连接
信号和槽完全符合C++标准

至于你上面说的是不会发生的,一切连接、定义是要求手工的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式