【问题标题】:When should I add a GUI?什么时候应该添加 GUI?
【发布时间】:2009-02-01 18:34:12
【问题描述】:

我在家里和工作中编写了许多脚本。大多数情况下,脚本只使用几次来完成他们选择的任务,然后就再也不会使用了。然而,有时我会编写一个脚本来做一些更复杂的事情,一些需要用户输入的事情。在这一点上,我通常会为是否实现 GUI 或坚持使用 y/n、按 1-10 等命令行界面而苦恼。这种类型的界面使用起来可能会变得乏味且难以维护。

我知道有些东西比其他东西更适合 GUI,比如在一个巨大的列表中选择东西。但是,切换命令行应用程序以使用 GUI 所花费的时间是令人望而却步的。对我来说,即使是我能找到的最多的simple 框架,也需要花费大量时间来添加 GUI。

我很好奇是否有任何开发人员有一种方法可以确定他们的脚本在什么时候增长到足以需要 GUI。或者我是不是走错了路,我是否应该一直编写脚本,假设我以后可能会添加一个 GUI?

【问题讨论】:

  • 感谢您提供指向 shoooes.net 的链接。看起来很有趣!!

标签: user-interface language-agnostic scripting


【解决方案1】:

这并不能回答您的问题,但 FWIW 在 UI 和命令行之间的中间步骤是拥有一个配置文件而不是 UI:

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

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

【讨论】:

    【解决方案2】:

    与许多此类问题一样,答案视情况而定。

    如果您的程序/脚本通过接收用户的大量输入只做一件事情,最好坚持使用非 GUI 模式。

    如果应用程序做的事情不止一件事,并且您认为用户会使用该应用程序做很多事情,那么您可以考虑使用 GUI。

    您打算将此程序分发给其他人吗?那么最好提供一个GUI。

    如果用户不是技术人员,那么 GUI 是必须的!

    就是这样。

    【讨论】:

    • 最后一点,情况并非总是如此。取决于客户是客户还是同事。如果该工具足够简单,那么命令行也可以供同事使用。
    【解决方案3】:

    当您想以易于发现的方式将您的东西交给其他人时。命令行脚本很棒,因为它们简单而优雅,但它们不是很容易被发现。也就是说,如果您将脚本交给没有文档的其他人,他们是否能够弄清楚它们是什么以及如何使用它们?如果你的任务如此简单,myscript /?将完全解释您需要做什么,然后您就不需要 GUI。

    另一方面,如果您将脚本交给技术不高的人,或者需要更多关于要完成的任务的可视化指导,那么 GUI 绝对是一个不错的选择.您甚至可能希望保持脚本原样,只需创建一个单独的 GUI 来运行它们以获得最大的灵活性。

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

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

        【讨论】:

          【解决方案6】:

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

          【讨论】:

            【解决方案7】:

            如果您使用 Linux,请尝试 Zenity。它是一个易于使用的工具,可为命令行程序制作 GUI。

            【讨论】:

              猜你喜欢
              • 2020-11-02
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2018-10-03
              • 2023-04-02
              • 2011-04-15
              • 2017-04-10
              • 2012-03-19
              相关资源
              最近更新 更多