首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

怎么自定义事件

2014-01-05 
如何自定义事件现在要做这样一个效果:有很多个按钮,当我点击某个按钮时,另外的某个按钮上面的字符会发生相

如何自定义事件
现在要做这样一个效果:
有很多个按钮,当我点击某个按钮时,另外的某个按钮上面的字符会发生相应的变化----但是我不知道是哪个按钮,根据字符的变化,再去触发另一些事件

由此,我认为,我需要这样做:
首先定义一个事件类nameChangedEvent,表示按钮上的字符变化了
然后再定义一个按钮类,这个类继承了QButton,里面定义一个signal: name_changed()
再定义一个函数:
void nameChanged(nameChangedEvent *event)
{
emit name_changed();
}

然后在主窗口类的构造函数,我就可以connect了:
connnect(ui->button1, SIGNAL(name_changed()), this, SLOT(button1_nameChanged));
connnect(ui->button2, SIGNAL(name_changed()), this, SLOT(button2_nameChanged));
...
...



现在,我不知道如何去定义一个上述需要的事件:nameChangedEvent
以及如何让系统去自动监听这个事件



求大神帮忙~~


谢谢~~!
[解决办法]
重载changeEvent
里面应该有你需要的东西。。

如果木有的话。。注册一个呗。。
registerEventType
可以注册自定义event
QEvent::registerEventType(QEvent::User + YourEvent);
处理的话。。
就要重载eventFilter了。

注意:YourEvent别和Qt的事件冲突了。。

热点排行