如果我打开我的应用程序,则会出现一个空的控制台窗口,因为我已将CONFIG += console
添加到我的.pro
文件中。我需要控制台,因为我已经实现了CLI,其中一些东西需要在控制台上打印出来。在Linux和Mac OSX上,我实际上并不需要CONFIG += console
。它只是有效。
如果.exe
通过双击正常执行,如何通过控制台窗口启动.exe
,则如何阻止打开Windows控制台?
基本上,我使用qDebug() << "myText";
然后我使用return 0;
退出应用程序。
答案 0 :(得分:1)
不幸的是,Windows在这方面有些不足。控制台应用程序将始终打开控制台,即使您不想要它。你可以立即关闭它,但它看起来仍然很糟糕。
您的应用程序必须是非控制台应用程序。在启动时,检查您是否可以访问控制台,就像从cmd.exe启动时一样。然后访问cmd的控制台并将输出注入其中。
有关详细信息,请参阅my question about this。
答案 1 :(得分:0)
这是一个GUI应用程序? AFAIK不可能(或者至少不是微不足道)编写一个混合的Qt应用程序,它既可以作为桌面(GUI)应用程序,也可以作为控制台(CLI)应用程序。
我不确定你打算做什么。如果您确实需要控制台变体,请尝试基于相同的源(一个控制台构建和一个GUI构建)构建两个不同的应用程序。
如果您只需要一个能够打印出某些信息的GUI应用程序,请删除控制台代码并将输出写入文件。
答案 2 :(得分:0)
我认为这是一个问题的答案:https://stackoverflow.com/a/3370017/1091536
您需要控制台应用程序,而不是启动您的GUI应用程序并打印它的输出。
您可以在此处找到启动GUI应用程序的应用程序https://github.com/gomons/AppDebugLauncher
答案 3 :(得分:0)
值得注意的是,在某些情况下,控制台窗口不会短暂出现。例如,如果您通过快捷方式在运行设置为最小化的情况下以gui模式运行:控制台窗口将不会出现。然后,在您的代码中,您可以恢复gui窗口的大小。它有点令人讨厌的解决方法,但掩盖了用户的行为,更多。
如果您要安装程序并通常通过快捷方式启动,那么它可能是一个选项。