如何将GUI添加到预先存在的C ++控制台应用程序?

时间:2013-03-04 18:05:12

标签: c++ user-interface

我有一个简单的C ++控制台应用程序,并想知道是否有任何方法可以添加GUI而无需重新制作应用程序。

我正在使用MinGW编译器,Eclipse CDT IDE以及标准和增强库。

3 个答案:

答案 0 :(得分:0)

(不知道很多控制台应用程序)

您必须重新制作该应用程序。

如果控制台应用程序“做得好”,用户交互与实际功能代码断开连接,那么它应该是一个简单的转换。

只需创建适当的用户界面并调用必要的功能。

例如,如果您的控制台应用程序包含文本菜单并询问了答案,那么您将在GUI中使用按钮和/或菜单和/或编辑框来修补代码。

最大

答案 1 :(得分:0)

如果您不想重写应用程序,可以尝试使用分离的引擎和界面模式,其中GUI和控制台应用程序是单独的可执行文件,其中GUI生成控制台应用程序的实例并与之通信以驱动应用程序通过某种机制,例如标准输入

如果您的控制台应用程序无法以这种方式驱动,则无需更改/重写应用程序

答案 2 :(得分:0)

您应详细说明问题,以获得更准确的答案。

您的控制台应用程序提供的交互级别是什么?

- 这就像一个简单的命令,输入参数在程序结束时产生输出

在这种情况下,您只需编写一个gui前端,它将从表单或您需要的任何内容中获取参数,然后您的gui应用程序将启动控制台命令,解析结果并将其显示在gui中。

- 控制台应用程序非常具有交互性(在所有执行过程中从用户处获取输入)

  • 控制台应用程序代码非常大,非常适合控制台交互:

也许你可以编写一个gui包装器,它接受std :: in和std :: out并在gui小部件中渲染两个流,但这可能很棘手。这不是一个非常令人愉快的解决方案,只有当你真的不想进入控制台应用程序代码时才应该使用它。

  • 控制台应用程序代码不是很大,或者很容易将控制台输入/输出部分与程序的其余部分分开:

在这种情况下,你应该从你的应用程序中创建一个库,然后为它编写一个gui。