【问题标题】:Qt - Maemo application - how to handle CTRL+C?Qt - Maemo 应用程序 - 如何处理 CTRL+C?
【发布时间】:2011-01-20 01:14:45
【问题描述】:

我写了一个简单的应用程序来用 C++ 拍照,我猜我可能应该在按下 CTRL+C 时做一些清理工作。我正在使用QTCreator 与 MADDE 一起编写应用程序,但我并没有真正使用我所知道的任何 Qt 钩子。

如何在我的应用程序中处理 CTRL+C

谢谢, 沃尔特

【问题讨论】:

  • 你试过lastWindowClosed()信号了吗?
  • 呃 - 我是一名 Java 程序员,我基本上修改了一个应用程序来达到这一点。你能举个例子吗?
  • 您打算进行什么样的清理工作?当您的进程退出时,几乎所有事情都由操作系统处理。
  • 好的,我正在使用 FCam ...根据文档,我应该这样做:sensor.stop();
  • @Greg 我实际上有点惊讶(没有侮辱或震惊或任何像你经常看到的离谱的东西,只是真的很惊讶)我和你一样尊重你的技术知识的人问这个.我认为在 cntrl-c 上显式调用你的析构函数通常很好吗?加入线程,向远程系统发出信号,你要离开,所有这些好东西?

标签: c++ qt4 qt-creator maemo n900


【解决方案1】:

maemo 似乎是基于 linux 的。在 linux C 程序中,您会收到一个必须为其编写处理程序的操作系统信号。你可以走那条路,但 Qt 似乎提供了一个信号,当程序准备退出时它会触发..http://doc.qt.nokia.com/stable/qcoreapplication.html#aboutToQuit

这里有一些关于如何去捕捉有问题的操作系统信号,然后采取行动的更多信息。请注意,如果您捕捉到 OS 信号,您可能不会再自动获得“aboutToQuit”信号。

http://doc.qt.nokia.com/4.7/unix-signals.html

【讨论】:

  • 我想补充一点,如果可能的话,最好坚持使用“aboutToQuit”信号,因为它将是跨平台的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多