如何抑制 Qt GUI 应用程序?

Posted

技术标签:

【中文标题】如何抑制 Qt GUI 应用程序?【英文标题】:How to suppress a Qt GUI application? 【发布时间】:2011-03-20 15:08:09 【问题描述】:

我需要在批处理模式下运行 Qt 应用程序,所以基本上我需要在没有 GUI 的情况下运行它。

我已经尝试过使用 QCoreApplication 但我的应用程序依赖于 X11 窗口的存在。所以我需要定期打开 GUI,但我需要对用户“隐藏”它。

我知道我有能力创建一个虚拟 VNC 并将活动显示更改为虚拟 VNC 窗口。

我正在寻找一种更清洁、更简单的解决方案,可以抑制或“转储”应用程序的 GUI 输出。

如果这有助于产生想法,它将被用于用 Bash、Perl 或 Python 编写的脚本中。

【问题讨论】:

你为什么不直接不调用 show() 函数? @utdmr,您的回答似乎有效。多么了不起的简单解决方案,我只是没有考虑过。我会再测试一下,如果它真的能解决我的问题,我会把它作为问题的答案发布。 【参考方案1】:

正如@utdmr 建议的那样,这解决了问题。 我认为show() 还负责信号/插槽机制以及其他 Qt 和 X11 功能。但显然,该应用程序工作正常,只是不显示 GUI。 这正是我所需要的,因为它是一个完全开发的应用程序,并且将其转换为控制台应用程序的工作量巨大。 谢谢utdmr :)

【讨论】:

以上是关于如何抑制 Qt GUI 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

关闭 QT GUI 后如何停止线程

使用 Qt 开发音频信号处理 GUI,如何?

如何通过 Qt gui 应用程序显示视频的帧?

如何在标准GUI应用程序中使用Qt3D进行渲染?

如何在 Qt GUI 应用程序中工作循环并显示 qimage

如何降低 QT Gui 线程优先级?