Error

C++博客 首页 新随笔 联系 聚合 管理
  217 Posts :: 61 Stories :: 32 Comments :: 0 Trackbacks

先有QWidget然后setLayout,然后在layout上添加widget

关于信号和曹,,,
本质上来说他们都是只是两个函数而已。
×信号是一个比较特殊的函数,我们只负责声明,其实实现是在moc的生成的代码中根据connect时候给定的参数不同而不同,这牵扯进QT内部一些moc核心之类的。
只得注意的是,signal solt函数为虚函数的时候需要一些头疼。
再有SIGNAL SOLT是moc宏,而不是C宏。
connect实际上接收的是两个字符串
有参数的信号艹需要在connect的时候指定参数,而且信号的参数需要等于(测试得出)槽的参数。参数声明的方式相当于函数参数声明去掉类型:
connect(this, SIGNAL(testSigned(CalculatorEx *)), this, SLOT(digitClicked(CalculatorEx *)));
匹配错误是得不到任何警告或者错误信息的,只是信号艹不起作用而已,,,


signal有一个扩展关键字 emit,最好使用这个,时刻提醒自己这个是信号
在solt中可以用 qobject_cast<TSender *>(sender()); 获取到发射对象的指针,,,

 

综上所述,QT其实只是看起来漂亮其实比MFC丑陋得多

posted on 2011-09-30 01:55 Enic 阅读(189) 评论(0)  编辑 收藏 引用 所属分类: 一步一个脚印学QT

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理