【问题标题】:Front end for C++ console programC++ 控制台程序的前端
【发布时间】:2012-08-15 13:33:49
【问题描述】:

我目前正处于 C++ 控制台程序开发的最后阶段。我遇到的问题是我的程序要求用户能够指示他们想要在大型动态网格(大约 50x50)上执行功能的位置。我设计的控制台实现非常笨重,难以使用。如果我有一个下拉框或类似的 IO 功能,对用户来说也很好。

有人建议我用 C# 或 HTML5 设计前端。我对 C# 的基本经验有限,对 HTML5 没有经验。我对 C++ 也还是比较陌生。我会很感激被指出正确的方向。

【问题讨论】:

  • 如果不知道你的程序提供什么样的 API,这很难回答。您可以向它发出命令,还是可以使用标题并在其之上构建一个 GUI?
  • 我不完全明白你的意思,但是是的,我可以向它发出命令。例如,它被设置为我可以去User("name")Object.getUser()。我将如何在它之上构建一个 GUI?

标签: c# c++ html frontend


【解决方案1】:

如果您的程序是按照大多数源代码管理系统的风格编写的,那么您的前端可以使用system 函数或process pipelines(或者旧的popen)来发出命令并处理它们。如果你不能做这样的事情,你可以查看你的代码并检查实际逻辑与命令行上的事物表示的联系程度。如果它紧密联系在一起(例如,您的 compute() 函数将字符串填充到正确的打印长度),您需要重构。如果不是,您可能只需在现有代码之上使用任何 GUI 工具包构建 GUI。

【讨论】:

  • 它根本不是那样捆绑在一起的。您认为您可以为我指明正确的方向,以获取有关 system 函数或流程管道的更多信息吗? C# 是与 C++ 交互的好选择吗?
  • @Kyryx 我对 GUI 工具包的唯一体验是 Qt,对于像您的示例这样的基本内容,我非常满意。我为您的其他请求添加了链接。
【解决方案2】:

我会向你推荐简单的 GUI。在 QT 中创建 GUI 非常简单,有很多基础教程。下载并安装后:http://qt.nokia.com/products/ 有一个名为“example”的目录。

对我来说,其他解决方案是另一个应用程序,它将以某种合理的格式(如 .xml)保存数据,您可以将其加载到您的程序中,如 ./MyComplicatedApplication MyData.xml

我不会弄乱 C#,为什么要使用两种不同的语言?维护起来会比较麻烦。请注意,在 QT 中编写 GUI 并不比在 C# 中更难,它将是跨平台代码。

【讨论】:

  • 我最初选择 C# 的原因是因为我并不真正关心跨平台。该程序被设计为 Windows 上的实用程序。
【解决方案3】:

您可以在托管 C++ 中使用 DataGridView,.NET API 在语言之间是相同的(出于实际目的)。 DataGridView 公开了大量的方法/对象,只是因为它是一个非常有用/常用的接口。所以你可能会觉得它有些困难,但基本的用法可以很简单。

【讨论】:

  • 这很有趣,我会研究一下。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-18
  • 1970-01-01
相关资源
最近更新 更多