QT中 信号 槽 与C++的区别
5个回答
展开全部
信号与C++是无关的,它独立于C++语言。槽则是普通的C++成员函数,唯一特殊的地方就是它可以与多个信号相关联,当信号被发射时,它就会被调用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
具体可以看看qt信号和槽的实现原理。
http://blog.csdn.net/dfman1978/archive/2010/09/19/5894827.aspx
http://www.javaeye.com/topic/683959
http://sinfrancis.javaeye.com/blog/484426
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
信号和槽是QT的一种机制,是用C++实现的。
C++是一种语言,QT是使用C++语言来写的。
C++是一种语言,QT是使用C++语言来写的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
信号和槽 是QT类库与其他类本质的区别,也是QT特有的
定义一个信号或槽你的类直接或者间接继承QObject,在类的最开始(私有)总价定义Q_OBJECT宏
之后你就可以定义信号和槽了
定义信号用single关键字,定义槽用slot关键字,他们可以是C++任意类型(公有、私有、保护)
定义信号后你应该在适当的时候发射信号,如下
emit XXX();
而槽函数可以像C++普通函数一样被类调用,也可以与信号连接
信号和槽完全符合C++标准
至于你上面说的是不会发生的,一切连接、定义是要求手工的
定义一个信号或槽你的类直接或者间接继承QObject,在类的最开始(私有)总价定义Q_OBJECT宏
之后你就可以定义信号和槽了
定义信号用single关键字,定义槽用slot关键字,他们可以是C++任意类型(公有、私有、保护)
定义信号后你应该在适当的时候发射信号,如下
emit XXX();
而槽函数可以像C++普通函数一样被类调用,也可以与信号连接
信号和槽完全符合C++标准
至于你上面说的是不会发生的,一切连接、定义是要求手工的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询