【问题标题】:Does anybody know how to launch windows from a console app using QT?有人知道如何使用 QT 从控制台应用程序启动窗口吗?
【发布时间】:2009-03-12 19:58:04
【问题描述】:

我正在学习 c++ 和 QT,并希望能够从控制台应用程序启动窗口。这甚至可能吗?

【问题讨论】:

    标签: c++ qt console window


    【解决方案1】:

    这是可能的,但我认为将 GUI 和控制台部分分成单独的程序并从控制台程序运行 GUI 部分可能会更好。否则,您可能不得不破坏其中一种范式:控制台应用程序通常不使用事件循环,但您的 GUI 窗口不会响应任何内容,除非您让 Qt 接管并使用它自己的事件循环运行。

    【讨论】:

      【解决方案2】:

      如果您使用的是 MSVC,您可以尝试在项目设置->链接器->系统中设置子系统->控制台。

      但是你为什么需要这样的行为呢?

      【讨论】:

      • 我正在使用新的 QTCreator IDE 来构建控制台应用程序。当您启动一个新应用程序时,它有一个选项来选择 gui 或控制台。所以我选择了控制台。我只想要简单的文本界面,结果可以在 QT-gui 窗口中显示。我应该选择另一种方法吗?
      • 我现在无法访问 QtCreator,但据我所知,这个选择只会影响在 main() 函数中创建 QCoreApplication 还是 QApplication。
      • 问题是:你需要控制台应用程序做什么?如果您希望能够在不运行 GUI 的情况下运行应用程序,则应该使用 QCoreApplication,但我不确定在这种情况下您是否能够创建 QWidgets。
      • 在您的情况下,创建类似控制台的窗口并使用 QApplication 可能是可以的。
      【解决方案3】:

      是的,这是可能的。我们无法帮助您,除非您描述您尝试过的方法以及具体无效的方法。

      【讨论】:

      • 我正在使用新的 QTCreator IDE 来构建控制台应用程序。当您启动一个新应用程序时,它有一个选项来选择 gui 或控制台。所以我选择了控制台。我只想要简单的文本界面,结果可以在 QT-gui 窗口中显示。我应该选择另一种方法吗?
      • 我的控制台 main.cpp 的伪代码,然后在 doStuffIn 函数内计划做各种 socket/db/explore 其他 qt 事情,结果我可以构建 QT guis 并从 void main( ) { while("exit" != in) { cin >> in; if (in != "exit") doStuffWith(in); } }
      猜你喜欢
      • 2022-01-14
      • 1970-01-01
      • 1970-01-01
      • 2013-05-20
      • 1970-01-01
      • 1970-01-01
      • 2012-11-27
      • 2010-10-01
      相关资源
      最近更新 更多