为命令行应用程序构建多平台图形界面的最佳方法

时间:2010-03-14 16:35:55

标签: user-interface interface-builder

我开发了一个命令行应用程序,其二进制文件在Linux,Windows和Mac OSX中运行。它读取一些文本输入文件,但我意识到一些特殊用户无法处理这个问题。然后我想构建某种图形界面,用户只能找到用于选择输入参数的按钮和滚动条,一个大的“运行”按钮,然后它会读取程序的输出并生成一些数字。

我还需要将所有内容最终打包在一个文件中,该文件仅使用静态库,因此用户只需将文件复制到他/她的机器上即可运行。

我想知道什么是最好的开源和多平台方法来做到这一点。 10年前我在DEC机器上玩了类似的东西,所以我想现在情况可能有所改善。

P.S。为了设计图形界面,我正在寻找一种图形方法,您可以使用鼠标添加按钮和滚动条 附: 2:界面非常简单,只需要少于10个按钮,5个文本字段和2个滚动条

由于

4 个答案:

答案 0 :(得分:1)

对于高级用户界面,我通常建议为每个平台编写不同的用户界面(因为每个平台都有人机界面指南)。但是,这将是一个简单的UI,然后是跨平台的UI之一。

您也没有提到您想要使用的语言。

最后你的“1 exe文件”有点神话 - 它只适用于Windows。在MacOSX上,我们使用魔术应用程序文件夹,因此无论您的应用程序包含多少文件,您仍然可以进行拖放式安装。

查看源自Linux的GTK+wxWidgets

答案 1 :(得分:1)

Tcl / Tk是一个完美的选择。没有其他语言可以提供良好的部署解决方案。您可以创建一个虚拟文件系统,将您的应用程序以及图标,声音文件等放入每个平台的单个文件中(称为“starpack”)。您甚至可以包含二进制可执行文件和库,但必须在运行时将它们复制到实际的文件系统中才能使用。

您还可以选择双文件部署 - 一个名为'tclkit'的特定于平台的运行时,以及一个名为'starkit'的独立于平台的应用程序文件。一个starkit将在所有平台上运行,无需重新编译,重新绑定等。它甚至可以内置并在运行时选择特定于平台的部件。

专业的Tcl / Tk开发人员可以轻松地在一天内完成命令行程序的前端,而无需图形GUI设计工具。如果你是tcl的新手,显然需要更长的时间,但任何语言都是如此。关键是,Tk非常易于使用,不需要图形GUI设计器。

答案 2 :(得分:0)

对于跨平台UI,您可以使用GTK(如果使用C)或QT(如果使用C ++)。

答案 3 :(得分:0)

如果您可以使用相当庞大的应用程序包进行交付,请务必查看https://electronjs.org/。您可以将功能保留在命令行应用程序中,并使用HTML5 CSS JS构建现代化的外观UI,然后再考虑“ “这太荒谬了”,认为Microsoft的Visual Studio代码是基于此构建的,并且与GTK / wxWidgets相比,您可以做到这一点。这甚至都不难,但是您要么喜欢它,要么讨厌它。我还是犹豫不决...