首页| 论坛| 消息

标题:接受事件和调用基类事件有什么区别?
作者:qazaq408
日期:2017-05-09 10:40
内容:

比如一个自定义按钮,继承自QPushButton, 我希望这个自定义的按钮在关闭的时候发射一个信号,于是我需要修改类的关闭事件函数
class CustomButton:public QPushButton
{
//...
void closeEvent(QCloseEvent* event);
};在这个函数中
void CustomButton::closeEvent(QCloseEvent* event)
{
emit customSignal();
ecent->accept(); //写法一
QPushButton::closeEvent(event);//写法二
}
对于这个关闭事件函数,除了额外发射一个自定义的信号外,我需要他执行正确的关闭功能,
写法一 接受事件
写法二 调用基类的关闭函数
我想问下,写法一和写法二都能正确的关闭this,他们有什么区别么?


#1 [lemonzll 05-09 10:51]
像这种疑问你可以查下Qt的代码,QPushButton没有定义closeEvent的实现,父类QAbstractButton也没定义,再上一层的QWidget定义了,代码是
void QWidget::closeEvent(QCloseEvent *event)
{
event->accept();
}
也就是写法一和写法二其实是一样的。

回复 发表
主题 版块