gpt4 book ai didi

c++ - QEvent::Close 不是由 changeEvent 触发的

转载 作者:行者123 更新时间:2023-11-28 06:14:49 27 4
gpt4 key购买 nike

您好:我正在后台运行一个时钟,我想禁用关闭事件并通知用户首先停止时钟。我已经知道 closeEvent 的重新实现,但是我想在 changeEvent 的重新实现中尝试一下。这是关于它的代码:

void AlarmUI::changeEvent (QEvent *event) {
switch (event->type()) {
case QEvent::WindowStateChange: {
if (isMinimized()) hide();
break;
}
case QEvent::Close: {
if (m_timer->isActive()) event->ignore ();
event->accept();
break;
}
default: {
QMainWindow::changeEvent (event);
break;
}
}
}

当时钟处于事件状态时,上述不会停止关闭事件......有什么想法吗?

最佳答案

作为the doc说,更改事件不包括 QEvent::Close

无论如何你都应该重新实现QWidget::closeEvent

关于c++ - QEvent::Close 不是由 changeEvent 触发的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30547585/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com