在Linux和Windows上创建包装命令行程序的GUI应用程序[关闭]

问题描述 投票:2回答:4

我正在编写一个GUI应用程序,让用户可以与命令行程序进行交互。在这种情况下,程序是晶体学程序。他们需要很长时间才能运行。

使用命令行程序有一个共同的工作流程。通常处理一个程序的输出,然后由其他程序使用。用户需要能够填写各种文本框并选择发送到命令行程序的选项。

因为我很懒,并且不想做比我需要做更多的工作,那里有哪些工具可以帮助我做到这一点?该软件最初需要在Linux上运行,但在某些时候也可以在Windows上运行。

如果非程序员有某种DSL能够扩展/修改GUI应用程序(添加新程序和更改选项等),也会很整洁。

user-interface process
4个回答
2
投票

看看GTK Server它可以从任何语言轻松编写脚本,因为它作为服务运行(有点像浏览器),它可以跨系统使用。也就是说,运行命令行的系统可以在强大的系统上运行,GTK服务器在用户的台式PC上运行。这些示例很容易理解,版本和语言的矩阵必然包含在您的内容中。如果你运气不好,只需选择最接近的组合作为例子。


1
投票

我建议看看Galaxy门户网站。它基本上是一个基于Web的GUI,用于命令行生物信息学工具(但对于任何命令行应用程序同样适用),内置工作流功能,因此应该具有您正在寻找的内容。

通过遵循Galaxy的工具配置格式,添加自己的包装器应该相当容易。有关如何执行此操作,请参阅this page


0
投票

TCL / TK是传统方式。 今天我将使用python与wxPython(更完整)或FLTK(更简单)。

如果您不需要从命令行程序中回读结果,那么它就容易多了 - 例如os.system(“命令选项”)


-2
投票

您可以使用WShell并重定向stdin stdout。

object console = WShell.Exec(cmdLine);
if (console.StdOut.AtEndOfStream)
    s = Pipe.StdOut.ReadLine();

缺点是你仍然需要弄清楚如何访问控制台窗口。但这很容易。您需要按窗口标题查找此窗口并将其属性设置为ivisible。或者使用免费软件从互联网上的一些实用程序,它可以自动为您完成。

© www.soinside.com 2019 - 2024. All rights reserved.