• 8209阅读
  • 5回复

qt 可以自己给自己发信号吗 [复制链接]

上一主题 下一主题
离线biosxjj
 

只看楼主 倒序阅读 楼主  发表于: 2010-11-17
关键词: qt-embedded
如何在按钮内部捕获click 信号
离线biosxjj

只看该作者 1楼 发表于: 2010-11-17
不用QSINALMAPER 直接转发信号不可以吗

子类化的button this->connect(this,SIGNAL(clicked()),SLOT(click()));

void QCustomKeyBoardButton::click(){






emit clicked(this->key,this->keyText);



}
离线roywillow

只看该作者 2楼 发表于: 2010-11-17
connect的sender和receiver都是自己不可以吗?
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线icing
只看该作者 3楼 发表于: 2010-11-17
可以在connect中设置sender和receiver都是自己。
离线dbzhang800

只看该作者 4楼 发表于: 2010-11-17
引用第1楼biosxjj于2010-11-17 09:53发表的  :
不用QSINALMAPER 直接转发信号不可以吗
子类化的button this->connect(this,SIGNAL(clicked()),SLOT(click()));
void QCustomKeyBoardButton::click(){
.......

connect 的信号和槽属于同一对象没有问题,只是乱写就不行了。

就像你这个,按钮的 信号clicked() 连接其 click() 槽。我不太确定,感觉上似乎是死循环吧?

再就是,你子类话 button后,在尝试 覆盖 (override) 其父类的非虚函数 click() ?? 别的不说,至少你这个东西不会被通过元对象系统被调用的。
离线biosxjj

只看该作者 5楼 发表于: 2010-11-22
搞定了 自己定义一个槽就可以了
快速回复
限100 字节
 
上一个 下一个