有很多使用Python编写GUI应用程序的框架。但是,有没有一个关键的标准框架?例如,我们在Visual Studio上有一捆.NET / C#。
我也在其他角度思考。将来,如果我接受Python程序员工作的面试,将考虑使用哪个GUI框架?
我也想知道,没有集成GUI和Python语言的IDE。口味选择不错,但选择过多会分散注意力。
有很多使用Python编写GUI应用程序的框架。但是,有没有一个关键的标准框架?例如,我们在Visual Studio上有一捆.NET / C#。
我也在其他角度思考。将来,如果我接受Python程序员工作的面试,将考虑使用哪个GUI框架?
我也想知道,没有集成GUI和Python语言的IDE。口味选择不错,但选择过多会分散注意力。
Answers:
如果您喜欢编写所有样板代码,则可以用Python编写Win32 API GUI应用程序:PyWin32项目
就个人而言,我喜欢wxPython。它是跨平台的(在Linux和Windows上都完全受支持),并且已经存在了相当长的一段时间...不错的支持基础,以及大量的文档/示例代码。如果要使用它,请看一下BoaConstructor。那就是wxPython的IDE(或者更好的说法是用wxPython编写的IDE)。值得一提的是,它是我遇到的唯一一个专门针对Python的RAD IDE ,请保存Qt UI编辑器(Qt的UI编辑器可用于C ++和PyQT)。
正如Peter在回答中提到的那样,Tk是较旧的Python应用程序的事实上的GUI,但对于最终用户而言,它们确实看起来并不那么漂亮。它有一些扩展,使其看起来更好一些,并提供了一些样式UI,但是除非您维护的是较旧的GUI应用程序,否则我建议您不要打扰它。
pyGTK,也已经提到,将是另一个不错的选择。它也跨平台,尽管我没有Windows上GTK开发的任何个人经验。IMO,PyQT是一个更好的选择-我认为使用Qt库创建的GUI在外观和功能上都优于GTK。我还发现Qt的信号/插槽事件机制更易于使用。YMMV。
确实没有针对Python GUI开发的标准,至少我没有看到过,但是与我合作多年的其他Python开发人员中,他们向我建议wxPython和PyQT比其他任何人都多工具包。老实说,我不确定是否有大量的Python GUI开发职位。多年来,我完成的大多数Python开发都是在服务器端进行的,但这并不是说现在没有各种各样的公司希望为其GUI应用程序采用开源路线。
Tk曾经是标准,但是可以说它过于简单和丑陋。然后Qt变得非常流行。Gtk也是可能的,它涵盖了Linux平台上的收藏夹。
但是你是对的,真的没有脑筋急转弯的答案。毕竟,过度选择在开源世界中很普遍。
没有“标准”,我同意-过多的选择是一种痛苦。至于用于Python GUI的集成“双向工具” IDE,我也想知道为什么那里似乎没有任何东西-也许是因为有如此之多的GUI工具包,没有人愿意为其中之一投资IDE。他们。
话虽如此,带有P3k的PyQt 4.7将为您提供出色的GUI(以及许多其他强大的功能)。请参阅http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/introduction.html- “这是PyQt 4.8.4的参考指南。PyQtv4是Qt v4的一组Python绑定来自诺基亚的应用程序框架。”
PyQt被广泛使用,并且上面有一些不错的书:请参见 http://www.qtrac.eu/pyqtbook.html “使用Python和Qt进行快速GUI编程”(书已经过时了-需要更新对于P3k)。
PyQt存在2个严重问题:
1)它具有一些明显的“非pythonic”特性,只是C ++ Qt库的一个薄包装。但我建议使用P3k-PyQt 4.7,因为“最新,最出色”的软件包中已解决了一些问题。看看这篇文章:
2)对于商业用途,PyQt和Qt的许可费用都很高。
PyQt的替代方案是诺基亚的PySide,这是Qt的另一个Python包装程序,它是完全开源的(尽管其中不包括Qt许可)。
从市场角度了解很多Qt并不是一件坏事,而且您会从PyQt那里了解到这一点,因此,如果您要决定在一个GUI平台上成为专家,我会认真考虑一下(或PySide)。 。
无论您选择什么,我都建议大部分情况下避免使用tkinter,即使它在Python中是“开箱即用”的,因为它的功能非常有限,而且IMO具有粗糙,过时的外观。
高温超导
pyGTK多产。它非常易于使用,并且使GUI看起来还不错。