繁体   English   中英

QEvent :: Close不是从changeEvent触发的

[英]QEvent::Close not triggered from changeEvent

您好:我正在后台运行时钟,我想禁用关闭事件并通知用户首先停止时钟。 我已经知道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;
        }
    }
}

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

正如文档所说,更改事件不包括QEvent::Close

无论如何,您应该重新实现QWidget::closeEvent

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM