【问题标题】:Which GUI framework to learn when you know scripting and HCI了解脚本和 HCI 时要学习哪个 GUI 框架
【发布时间】:2012-02-27 05:06:17
【问题描述】:

我有一些关于人机交互的知识和一些基本知识编程脚本(Python),它们从头到尾运行并自动执行我想做的一些任务或计算。过去我在 HTML 中使用 PHP 构建接口。

我希望我的 python 脚本从命令行演变,并使用 GUI 构建一些应用程序,允许用户拖动文件并按下按钮以启动操作并以图形方式检查进度。

自从我用 Python 编写脚本以来,我查看了一些选项(Tkinter、wxPython、PyQt),但我无法在它们之间做出决定,花时间学习一个而不是另一个。我的标准:

  • 有GUI程序员的介绍(和脚本有什么区别,一些简单界面的例子)
  • 一个框架让我可以在我最常用的平台 (Windows) 上运行我的程序,但也可以在 Mac 和 Linux 上运行,无需太多修改。
  • 学习曲线非常浅(易于制作第一个界面),但之后可以灵活地自定义界面,超出典型操作系统所允许的范围(例如,不同的颜色、大小和形状的按钮)
  • 如果不相同,类似于您为 Android 和/或诺基亚智能手机编写 GUI 的方式。我计划在不久的将来为这些平台编写一些程序,所以如果可能的话,我想把这里的一些课程带到这些平台上。

我确实找到了这个previous question,但没有一个答案是令人满意的。

是否有任何框架比其他框架更符合这些要求,或者它们本质上是否相似,我会对其中任何一个感到满意?

注意:如果您认为我应该考虑使用其他语言而不是 Python 来实现这一点,是哪一种?我真的很喜欢 Python 空格语法并且已经习惯了,所以我更愿意坚持使用它。

【问题讨论】:

    标签: python windows android user-interface meego


    【解决方案1】:

    PyQt 和/或诺基亚赞助的非常相似的PySide(具有更“宽松”的许可证,LGPL 而不是 GPL,以及相同的底层工具包 Qt)确实提供了与诺基亚智能手机 GUI 相似的优势工具包(你的第四点)——诺基亚收购了 Qt 的制造商奇趣科技,正是因为 Qt 是他们移动产品的基本 GUI 工具包。

    您提到的所有工具包都满足您对操作系统(Windows、Mac、Linux)提出的条件,这是您的第二点。

    您的第一点和第三点很大程度上取决于您为每个工具包提供的学习材料。根据我的口味,wxPython's tutorial(wiki 形式的新版本是我所指和推荐的)似乎非常好,PyQt 一点也不差; PySide's docs 不包括一个好的教程(我知道),我相信 PySide 的意图是你首先学习 PyQt(使用合理的可用材料),然后应用这些 few differences 在 PySide 而不是 PyQt 中编程; -)。我能找到的 Tkinter 的教程要么很老,要么专注于底层工具包的多语言特性,我认为这让它们逊色。

    如果你买得起一本书,PyQt 有一本好书(也适用于 PySide,如上所述)--this 优秀而免费的书很遗憾很旧,所以我认为它没有帮助。 wxPython's own book也不错; tkinter's 又是非常过时了。

    我个人推荐PyQt / PySide:总体功率A+,易于上手(与上面的教程和书籍)A-,诺基亚手机程序员相似性A。对于wxPython,我会说功率A,轻松A,诺基亚-相似性 B. Tkinter 过时的教程和书籍是重要的负面因素。

    您还提到了 Android,但我看不出有什么东西可以同时与 Android 和诺基亚的手机 GUI 编程相似。也许我对 Android GUI 编程不够熟悉,但在我看来,它与您提到的每一个工具包都不同。

    【讨论】:

      【解决方案2】:

      PyGTK 至少满足前三点。我不确定第四个。这里有一个很好的教程:http://www.pygtk.org/pygtk2tutorial/index.html

      【讨论】:

        【解决方案3】:

        我猜你正在寻找Glade

        网站说:

        Glade 是一个 RAD 工具,可以快速轻松地开发用户 GTK+ 工具包和 GNOME 桌面环境的接口。

        在 Glade 中设计的用户界面被保存为 XML,并且通过使用 GtkBuilder GTK+ 对象,这些可以由应用程序加载 根据需要动态。

        通过使用 GtkBuilder,Glade XML 文件可以用于许多 编程语言包括 C、C++、C#、Vala、Java、Perl、 Python 等。

        我还是一个非常noob 程序员,但是我在开始使用CGlade 时遇到了一些问题。所以我猜你会带着你的蛇在这里平稳地跑。看看吧。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-10-26
          • 2012-04-02
          • 1970-01-01
          • 2019-10-13
          • 2022-09-22
          • 2011-05-03
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多