Python GUI与Swing的比较?

9 投票
2 回答
14020 浏览
提问于 2025-04-17 04:30

我想说“跟Swing比起来,哪个Python的图形界面最好”...但有人严厉地告诉我这个问题“太主观了”。对此我向机器里的确定性幽灵道歉。

我现在在用Jython...已经用了大约6个月,之前是用Java好多年。我喜欢Jython能调用所有Java类的能力,这也让我从Java的做事方式转到Python的方式时轻松了不少。

不过仔细想想,我发现我用得最多的Java包就是Swing的那些。我花了很多年时间和Swing斗争,最后觉得我好像终于把这个“怪兽”给控制住了。顺便说一下,我觉得Swing非常棒,我自己也是个键盘爱好者,所以我不想换到一个没有像ActionMap-InputMap那样强大功能的图形界面,虽然可能很多人对此并不太在意。真的,放弃JTree和JTable也太可惜了,毕竟我花了那么多时间在它们身上,快把我的头发都抓光了。说真的,它们的功能强大得令人发指...

但与此同时,我也越来越喜欢Python的做事方式。我可以并且打算继续使用Jython。不过我只是想知道各种CPython的图形界面是什么样的...特别是它们的功能和灵活性跟Swing比起来如何?

补充说明:有人让我提供一些具体的例子:比如一个树形图形界面对象放在一个滚动面板上,用户可以通过键盘控制导航和节点的展开/折叠...滚动可以自动进行(如果你想的话),而且你可以控制外观和感觉等等。或者是表格,用户可以全面控制调整大小,以及当单元格获得或失去焦点时发生的事情。你可以自定义渲染器和编辑器。正如我在评论中提到的,曾经热衷于Swing并且大量使用它的人,如果转到CPython的图形界面后感到满意或不满意...可能是最适合回答这个问题的人。

2 个回答

0

我觉得Python有很多工具可以用来做图形用户界面(GUI)。Java有一个叫Swing的工具。如果你想开发一个跨平台的友好界面,我建议你使用wxPython。

3

我之前没怎么用过Swing,但Qt(还有它的Python绑定,PySide或者PyQt4)在我理解的范围内,符合你所有的要求。

Qt的设计是为了让事情按照底层操作系统的习惯来做。所以,通常最明显的做法就是“正确”的做法,但如果你想要更多的控制权,也可以去修改它的外观或行为。

至于用Python的方式……这些绑定正在逐步完善。老实说,它们还是有点像C++的感觉。

你还可以看看一些 其他关于这两者比较的问题。

撰写回答