【问题标题】:How to handle Qt5 close event for termination?如何处理 Qt5 关闭事件以终止?
【发布时间】:2016-06-17 21:53:45
【问题描述】:

我有一个应用程序,它由两个显然独立的窗口组成。窗口 A 加载数据并显示一些日志、状态信息;打开窗口 B,在此进行交互式处理。为了防止意外关闭,在 B 中我有一个事件处理程序,如下所示。它工作正常,但是,它也阻止窗口 A 在终止时关闭它。有没有更好的方法,比在 B 中使用公共插槽,并由 A 通过它发送消息,现在窗口 B 真的可以关闭? (或区分终止应用程序和关闭其中一个窗口?)

void B::closeEvent(QCloseEvent *event)
{
     QMessageBox::warning(this, tr("Application"),
                 tr("Can only be closed through closing the main window.!"),
                     QMessageBox::Ok );
        event->ignore();
}

【问题讨论】:

  • 窗口 A 可以调用 B 中的方法(类似于 close(true)),因此 B 知道在调用 void B::closeEvent(QCloseEvent *event) 时它必须关闭。

标签: c++ qt events qt5


【解决方案1】:

您可以通过修改窗口标志来禁用一个窗口的关闭按钮

【讨论】:

    猜你喜欢
    • 2021-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-18
    • 1970-01-01
    • 2019-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多