使用Python构建跨平台和自定义皮肤应用程序的最佳方法

时间:2011-03-14 20:32:56

标签: python user-interface cross-platform skinning

需要的功能:

  1. 一个框架,允许我使用自定义设计构建基于选项卡的应用程序(如Hotot twitter client),保留本机操作系统窗口框架。
  2. 与Python兼容。
  3. 我的应用程序将在Win / OsX / Linux /.
  4. 下运行
  5. 没有Flash / Flex / AIR。
  6. 我也想问一下PySide是否符合我的要求,是否比wxPython和Tkinter已经提到的更糟或更好?

5 个答案:

答案 0 :(得分:4)

使用Tkinter。它适用于Python支持的每个平台,相对容易编程,在大多数平台上看起来相当不错,并且具有您想要的功能。它也内置于大多数Python版本中,因此您的用户(在许多情况下)不必安装任何外部依赖项。

我发现Tkinter在Mac OSX和Windows上看起来最好,在某些Gnome桌面上略显过时。然而,最重要的特性是API非常干净且易于使用,而且非常轻巧。 PyQt有一个类似的功能集,但根据我的经验,与Tkinter相比,它的性能显着下降。

PySide是诺基亚针对Python的Qt绑定。我不知道它与PyQt之间的区别。最终,Python的大多数GUI工具包都将是跨平台的,并支持您所需的功能。我建议使用Tkinter,因为我觉得这是用Python编写GUI应用程序的最简单,最愉快的方式。

答案 1 :(得分:3)

除了其他人提供的建议外,我建议您使用PyQt,这是与Qt framework的Python绑定。它被广泛使用,跨平台和功能齐全。

答案 2 :(得分:3)

我是Hotot的作者。

根据您的要求,您选择框架的关键是UI框架应该能够方便地访问webview。

Hotot有几个不同平台的包装器。在Linux上,我们有Qt和GTK版本,在Windows上,我们提供Qt版本,在Mac上,我们有Cocoa版本,当然我们有Chrome版本。总之,他们可以轻松访问webkit。

PS:XULRunner是原生外表的另一个不错的选择。

答案 3 :(得分:2)

查看wxPython(基于wxWidgets)。如果您想使其基于网络,请使用Django

答案 4 :(得分:1)

嗯,你提到了PyHotOt,它说(在它的网站上)它使用了pywebkitgtk和PyGTK。 PyGTK / PyWebKitGTK适用于Windows。你看了吗?我认为OS X将是GTK上的薄弱环节,但也许它也非常好。