首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于命令行实用程序的GUI实现标准

用于命令行实用程序的GUI实现标准
EN

Software Engineering用户
提问于 2016-06-21 23:39:35
回答 2查看 363关注 0票数 1

我编写了一个命令行实用程序,我想为它开发一个GUI。我看到linux上的几乎每个工具都有命令行,它最终有一个GUI,它与命令行实用程序交互,使那些不熟悉命令行的人的生活变得更容易。

我想做一些类似的事情,linux的标准是什么呢?

我想出了两种可能的解决方案:

  1. 创建一个GUI,它简单地生成命令行实用程序进程,带有一些参数来执行所需的任务,并等待它完成并使用结果更新GUI。
  2. 在命令行实用程序中实现某种服务器,GUI可以用来收集信息并显示给用户

linux中是否有将GUI连接到命令行实用程序的标准?

如果是,那是什么?

EN

回答 2

Software Engineering用户

回答已采纳

发布于 2016-06-21 23:44:51

我认为最受欢迎的是将SweetApp和libsweetapp一起编写,SweetApp命令行应用程序是一个功能齐全但极简的CLI包装器。然后,图形化GSweetApp或KSweetApp使用这个库构建GUI应用程序。

除此之外,没有权威的标准,最终为人们所做的一切都是最重要的。我所描述的以及你们两种可能的解决方案都是很常见的。

票数 6
EN

Software Engineering用户

发布于 2016-06-21 23:50:57

我不能给您提供GUI和CLI广泛使用的应用程序的代表性示例,但作为良好架构的一般规则,您的程序逻辑应该与用户交互逻辑分离。即使您只打算提供单一的用户界面,这种模块化对于单元测试仍然是非常有价值的。

细节可能取决于应用程序的类型,但最干净的解决方案似乎是将所有程序逻辑放入库中,然后由CLI和GUI应用程序使用(链接到)。请注意,这也为在没有任何用户界面的情况下使用工具作为库提供了机会。

但是,如果您的工具非常简单,并且您会发现自己更适合用另一种语言编写GUI,而不是CLI应用程序,那么最好将GUI编写为CLI的包装脚本。但是,这也有一些缺点,因为进程之间的通信需要正确地封送所有参数并将其解封为/从文本,而进程之间的通信错误通常要复杂得多。因此,一些CLI程序提供特殊标志,使它们以更适合机器处理的格式接受/产生输入/输出。

票数 2
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/322902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档