当您了解脚本和HCI时,要学习哪个GUI框架

gre*_*eye 1 python windows user-interface android meego

我对人机交互和一些从头到尾运行的基本知识编程脚本(Python)有一些了解,并自动执行我想要做的任务或计算.在过去,我使用PHP构建HTML背景.

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

由于我用Python编写脚本,我查看了一些选项(Tkinter,wxPython,PyQt),但我不能在它们之间做出决定来投入我的时间来学习一个而不是另一个.我的标准:

  • 有GUI的程序员介绍(与脚本有什么不同,一些简单接口的例子)
  • 一个框架,允许我在我最常用的平台(Windows)上运行我的程序,但也可以在Mac和Linux上运行,而无需太多修改.
  • 非常浅的学习曲线(易于制作第一个界面),但后来灵活地定制超出典型操作系统允许的界面(例如,不同颜色,尺寸和形状的按钮)
  • 如果不相同,类似于为Android和/或诺基亚智能手机编程GUI的方式.我打算在不久的将来为这些平台编写一些程序,所以如果可能的话,我想在这些平台上继续学习一些课程.

我确实找到了上一个问题,但没有一个答案令人满意.

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

注意:如果您认为我应该考虑使用其他语言而不是Python来实现这一目标,那么哪一个?我非常喜欢Python空白语法,并且已经习惯了它,所以我宁愿坚持下去.

Ale*_*lli 6

PyQt和/或非常相似的诺基亚赞助的PySide(具有更"轻松"的许可证,LGPL代替GPL,以及相同的底层工具包,Qt)确实提供了与诺基亚智能手机GUI工具包(您的第四点)相似的优势 - - 诺基亚收购了Qt的制造商Trolltech,正是因为Qt是他们移动产品的基本GUI工具包.

您提到的所有工具包都满足您对操作系统(Windows,Mac,Linux)的第二点要求.

您的第一个和第三个点在很大程度上取决于您为每个工具包提供的学习材料.根据我的喜好,似乎wxPython的教程(wiki形式的新教程是我指向并推荐的)非常好,而且PyQt一点都不差; PySide的文档没有包含一个好的教程(我知道),我相信PySide的目的是你首先学习PyQt(使用合理的可用材料),然后将这些差异应用于PySide编程而不是PyQt ;-) .我能找到的Tkinter教程要么非常陈旧,要么专注于底层工具包的多语言本质,我认为这些教程使它们更低劣.

如果你能负担得起一本书,PyQt有一本很好的书(也适用于PySide,如上所述) - 这个优秀且免费的书很遗憾很老,所以我觉得它没有用. wxPython自己的书也很好; 再一次,tkinter已经过时了.

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

你也提到了Android,但我没有看到任何东西同时与Android和诺基亚的手机GUI编程有什么相似之处.也许我对Android GUI编程不够熟悉,但在我看来,它与你提到的每一个工具包都不同.