正如我已经提到过这个堆栈溢出问题线程this Stack overflow question thread,我想了解两个代码之间的差异:
void MyMainWindow::closeEvent(QCloseEvent *e)
{
foreach (QWidget *widget, QApplication::topLevelWidgets()) {
if (widget != this) { // avoid recursion.
widget->close();
}
}
e->accept();
}
void MyMainWindow::closeEvent(QCloseEvent *e)
{
foreach (QWidget *widget, QApplication::topLevelWidgets()) {
if (widget != this) { // avoid recursion.
widget->close();
}
}
e->accept();
}
QMainwindow::closeEvent(e);
}
我想知道上面代码中QMainwindow::closeEvent(e); MyMainWindow::closeEvent(QCloseEvent *e)
行的含义。有人能帮助我吗?
答案 0 :(得分:0)
这一行只是显式调用超类函数。当您有不同的函数声明或数据成员时,您可以指定您所指的是哪一个。
此处此功能未在QMainWindow中实现,仅在其超类QWidget中实现,您可以看到它只调用event->accept();
(source)。这意味着QMainwindow::closeEvent(e);
与e->accept();
相同。