相关疑难解决方法(0)

如何在QEventLoop中检测挂起?

我不确定我的问题标题是否正确,所以要解释我的意思,请考虑以下示例:

我用它创建一个QApplication和一个.然后我将一个处理程序附加到按钮上的点击信号,如下所示:QWidgetQPushButton

void MyWidget::on_pushButton_clicked(){
    //Never return
    while(true);
}
Run Code Online (Sandbox Code Playgroud)

最后,我启动应用程序的事件循环,当我运行程序并显示窗口时单击按钮.

在我的情况下,这将停止整个应用程序.所以我现在的问题是如何从代码中"检测"我的应用程序中发生了这种挂断?

我知道编写在信号处理程序中没有返回的代码是不好的做法,我问这个问题是因为我想检测错误并从中恢复,可能是通过重新启动应用程序来努力提高生产时的弹性.

谢谢!

qt event-loop recover hang qt5

7
推荐指数
2
解决办法
3855
查看次数

标签 统计

event-loop ×1

hang ×1

qt ×1

qt5 ×1

recover ×1