免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 852 | 回复: 0
打印 上一主题 下一主题

qt第二章 创建对话框 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-05-24 15:38 |只看该作者 |倒序浏览

                                                槽机制:槽和其他函数不一样的地方在于槽可以和信号连接在一起,其他都一样。连接的函数为:connect (sender, SIGNAL(signal), receiver, SLOT(slot));
sender和receiver都是指向QObject的指针。
signal和slot是不带有参数名称的函数签名。
SIGNAL和SLOT宏实质上会把他们的参数转换成字符串。
槽的特点:
一个信号可以被连接到多个槽中。
多个信号也可以连接到一个槽中。
一个信号可以连接到另外一个信号。(信号到信号的连接和信号到槽的连接是难以区分的)。
连接可以被移除。disconnect(lcd, SIGNAL(overflow()), this, SLOT(handleMathError()));
当连接一个信号到槽时,他们必须有相同顺序和类型的参数。但如果信号的参数比槽多,那么多余参数会被忽略。
可以说槽是对所产生信号的处理函数。
那么如何产生信号和相应的处理函数(槽)呢?
如果是以代码方式的话,信号和处理函数都是声名出来的,用的是关键字signals和关键字slots。他们的用法和c++
里面的pulic,private等一样。在类的声名中使用。signals声名信号,slots声名处理函数,slots可以用
private来修饰。那么在类的构造函数中我们就要将信号及其处理函数对应起来,即建立槽。
在产生信号的时候要使用emit关键字来表示发射信号。
如果是用qt designer的对话框来建立槽的话就需要使用菜单edit |  connections   来设置槽。在connections对话框中
选择信号和对应的函数,对应的处理函数可以用edit slots自己创建。
qt的快捷键设置和vc下一样,用&来指明。
每个类中都默认的有一个init()函数,这个函数默认会在类的构造函数的最后一行调用。我们也可以改写这个函数。
用qt disigner 生成的交互界面保存在一个.ui的文件中,并且代码被保存为一个.ui.h文件。我们可以编辑这个.ui.h
文件,对其中的函数进行修改。在进行qmake后就会生成相应的.h和.cpp文件。那么以后就可以像一般的头文件一样的
使用这些类了。
               
               
               
               
               
               
               
               
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/69984/showart_704263.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP