Qt GUI 应用程序中的控制台输出?

2024-05-20

我有一个在 Windows 上运行的 Qt GUI 应用程序,它允许传递命令行选项,在某些情况下我想向控制台输出一条消息,然后退出,例如:

int main(int argc, char *argv[])
{
  QApplication a(argc, argv);

  if (someCommandLineParam)
  {
    std::cout << "Hello, world!";
    return 0;
  }

  MainWindow w;
  w.show();

  return a.exec();
}

但是,当我从命令提示符运行应用程序时,控制台消息不会出现。有谁知道我怎样才能让它发挥作用?


Windows 并不真正支持双模式应用程序。

要查看控制台输出,您需要创建一个控制台应用程序

CONFIG += console

但是,如果您双击该程序来启动 GUI 模式版本,那么您将看到一个控制台窗口,这可能不是您想要的。为了防止出现控制台窗口,您必须创建一个 GUI 模式应用程序,在这种情况下,控制台中不会有任何输出。

一种想法可能是创建第二个小应用程序,它是一个控制台应用程序并提供输出。这可以调用第二个来完成这项工作。

或者,您可以将所有功能放入 DLL 中,然后创建两个版本的 .exe 文件,其中具有调用 DLL 的非常简单的主函数。一种用于 GUI,一种用于控制台。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Qt GUI 应用程序中的控制台输出? 的相关文章