Python有many GUI toolkits。如果我理解正确,这些工具包通常负责渲染自己的小部件(而不是依赖于操作系统)。这实现了跨平台支持,其代价是使小部件看起来,感觉和行为不一样,与其本地对应物完全相同。 Python是否有一个跨平台的 GUI工具包,而是否利用了每个系统的本机小部件?
根据GUI Programming in Python,至少有两个候选人:
不幸的是,这个库似乎已经消失了。它的链接现在重定向到Icy Labs,这是一家“设计和分销电子和机器人开发的组件和设备”的公司(???)。
这是Java SWT库的一个端口(我已经熟悉)。这个库不像Python那样感觉(例如,它保留了Java中常见的set*
和get*
方法。因此,我很想知道是否有一个更具权威性的库来满足我的需求。
答案 0 :(得分:5)
wxWidgets是一个选项吗?据我所知,它集成了操作系统提供的任何东西 - 在windows上的win32,在Linux上的gtk,以及我认为在OSX上的Aqua。
答案 1 :(得分:4)
Qt怎么样?
它是随附的包装器,PyQt? http://en.wikipedia.org/wiki/PyQt
Qt大部分看起来都是原生的。我认为你永远不会找到一个只使用本机小部件并且仍然是跨平台的跨平台工具包。这些目标在某种程度上是相互排斥的。
答案 2 :(得分:3)
pyside qt的LGPL绑定。注意还有PyQt,它是GPL或支付给闭源使用。
答案 3 :(得分:0)
我最近找到了Toga。认为它是新的,仍然缺少很多原生小部件,但很容易上手。