何时应该添加GUI界面?

4
我在家和工作中编写了许多脚本。大多数情况下,这些脚本仅用于完成其选择的任务,然后就再也没有使用过。但是,有时我会编写一个需要用户输入的更复杂的脚本。此时,我通常会苦恼于是否实现GUI,还是坚持使用y/n、按1-10等命令行界面。这种类型的界面可能变得繁琐且难以维护。
我知道某些东西比其他东西更适合使用GUI,例如在巨大列表中选择事物。但是,将命令行应用程序切换为使用GUI所需的时间是禁止的。对我来说,即使使用最简单的simple框架添加GUI也需要相当长的时间。
我很好奇是否有开发人员确定脚本何时增长到需要GUI的方法。或者我是否正在错误地进行这项工作,应该始终假定我可能稍后添加GUI并编写我的脚本?

1
感谢您提供 http://shoooes.net/ 的链接。看起来很有趣!! - Niyaz
7个回答

10

这并不能回答你的问题,但值得一提的是,在UI和命令行之间的一个中间步骤是使用配置文件而不是UI:

  1. 编辑配置文件
  2. 运行程序

如果必要的话,配置文件格式可以很复杂并且有良好的注释。


9

和许多类似的问题一样,答案是取决于具体情况。

如果你的程序/脚本只需要从用户那里接收少量输入并完成单一任务,最好使用非GUI模式。

如果应用程序需要完成多个任务,并且你认为用户会频繁使用该应用程序,则可以考虑使用GUI。

你是否计划将此程序分发给其他人?那么最好提供一个GUI。

如果用户不具备技术背景,则必须使用GUI!

就是这样。


关于您最后的观点,情况并非总是如此。这取决于客户是客户还是同事。如果工具足够简单,命令行对于同事来说是可用的。 - he_the_great

3
当你想以一种易于发现的方式将你的东西交给别人时,命令行脚本非常棒,因为它们简单而优雅,但是它们不太容易被发现。也就是说,如果你把你的脚本交给没有文档的其他人,他们能够弄清楚它们是什么以及如何使用吗?如果你的任务非常简单,那么myscript /? 将完全解释你需要做什么,那么你就不需要 GUI。
另一方面,如果你把你的脚本交给不太懂技术的人,或者需要更多关于要完成的任务的视觉指导,那么 GUI 是一个很好的选择。你甚至可以保留你的脚本,只需创建一个独立的 GUI 来运行它们,以实现最大的灵活性。

2

我认为这个决定还取决于将使用您的脚本的受众:如果是那些熟悉命令行工作的人,只要您的脚本有一个良好的/help来解释它接受的所有参数,就没有必要添加GUI。但是,如果您希望“普通用户”能够使用您的程序,我宁愿添加GUI,否则您的程序可能对该用户组不够直观。


1

如果你只需要一些“对话框”来改进你的脚本,你可以使用KDE Kdialog或Gnome Zenity


0

我已经数不清有多少次写了我认为只需要用一次的程序,结果它比我想象中更有用,并最终编写了一个GUI,或者几个月后需要回来使用一个程序。 GUI的优点在于它使得记住命令行参数变得更容易,否则可能需要记忆很多标志和选项。例如,对于标志和选项,您可以简单地使用复选框、组合框、单选按钮和文件选择器文件名。我使用Borland C++ RAD,因此很容易快速地创建一个简单(甚至不那么简单)的对话框。现在我经常从创建GUI开始。


0
如果您使用Linux,可以尝试使用Zenity。它是一个易于使用的工具,可用于为命令行程序创建GUI界面。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接