简评Qt信号以及信号槽

        个人觉得就做界面来讲,不管是有ide设计界面操作还是无ide设计界面操作,开发界面这块,Qt要比mfc方便的多,毕竟这玩意儿是高度的封装,有点类似codejock针对mfc的封装,但是他的缺点就是信号(槽)的设计,个人觉得如果仿照mfc的post/send-thread-message的机制来设计,肯定要比目前的好的多,不知道Qt设计者是是不是脑子缺根弦,还是要跟别人比自己聪明,非得用connect这种方式来设计Qt的消息机制,当然如果是针对系统(QtCore)本身的信号来说,这种方式确实很方便,但是如果项目中涉及到用户层自定义的信号的时候,这种设计会显得有点累赘,为设计自定义型信号需要自己添加很多的代码,同时moc会根据connect生成中间代码,起结果下不考虑代码量的增加,就编译而言,很是让人头疼,其原因就是速度慢,同样的工程可能mfc几秒钟就能搞定,qt可能需要几分钟,有人可能会说,我不会用connect,我想说的是不是不会用,采用自定义信号(槽)的理由就是避免对临界资源添加附加锁,不管是在linux还是在window下,对一个资源添加重复的锁,毕竟不是意见好事。而且moc对用户自定义的类型识别还存在一定的问题,有些时候自定义的基本类型都无法识别,个人希望Qt在QtCoreAPI定型之前,把moc这种功能给取消掉。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值