郁闷于Python GUI开发,有没有好的框架啊?

2012-01-14 22:13:44 +08:00
 ectotherm
Tkinter是最好的,但是在OS X上有几个硬伤:1. 不支持原生快捷键;2. 不支持中文输入。

wxPython比较复杂,通过下载2.9的代码可以在OS X Lion上构建64位版本,但是通过easy_install或者pip死活也装不上。而且这个框架太复杂了,远远超过了我的预期。

PyObjC也太复杂了,而且不是一个纯Python的东西,还要用到Interface Builder,快速开发时候非常痛苦。

PyGUI,在pip上没找到。

还有推荐的吗?最好就是Tkinter解决中文输入的问题就万事大吉了。
19649 次点击
所在节点    Python
43 条回复
xhacker
2012-01-14 22:28:11 +08:00
PySide
tokki
2012-01-14 22:35:06 +08:00
python 要什么gui阿-。- gui果断obj-c去
ultragtx
2012-01-14 22:50:02 +08:00
QT咋样 不过我也没用过
ectotherm
2012-01-14 23:05:31 +08:00
@tokki 因为写了一个本机的search engine,用web.py做界面,后台还要运行一个daemon,太痛苦了。所以想写成gui,又不想用python之外的东西重写。之前用tkinter在windows上是好好的,但lion上不能输入中文,硬伤。
ectotherm
2012-01-14 23:06:16 +08:00
@ultragtx @xhacker qt比wx更重量级,不用说pyside,单单在lion上装qt就是很痛苦的事情
ectotherm
2012-01-14 23:07:54 +08:00
@tokki 对了最主要的问题是:如果我那天我另外写了几个app,如果每个在后台都运行一个daemon,占内存不说,没事还给我抽两下
dndx
2012-01-14 23:09:06 +08:00
@ectotherm 直接用Browser解决多简单,HTML和CSS就是专门干这个的。
ectotherm
2012-01-14 23:10:45 +08:00
@dndx 因为写了一个本机的search engine,用web.py做界面,后台还要运行一个daemon,太痛苦了。所以想写成gui,又不想用python之外的东西重写。之前用tkinter在windows上是好好的,但lion上不能输入中文,硬伤。对了最主要的问题是:如果我那天我另外写了几个app,如果每个在后台都运行一个daemon,占内存不说,没事还给我抽两下
for4
2012-01-14 23:31:23 +08:00
lz说过的几个都考虑过 最终选的wxpy 配合wxFormBuilder 还不错
ectotherm
2012-01-14 23:37:29 +08:00
@for4 关键在lion上安装wx 2.9.3的非常痛苦,要自己下载源码来编译,本来开发工作的重头应该在search engine本身的效率逻辑上,所以我不想花太多精力在gui上。其实tkinter我用的是很爽了,就是在lion上不能输中文。tkinter的开发方式完全符合我的要求。有没有人写个像wxtkinter之类的东西
gDD
2012-01-14 23:37:48 +08:00
大家都没提到PyGTK。。。
HowardMei
2012-01-14 23:40:38 +08:00
ectotherm
2012-01-14 23:46:17 +08:00
@gDD 看了tortoisehg的界面,我觉得不会比tkinter的好看多少,估计还复杂,不过可以了解看看
ectotherm
2012-01-15 13:01:36 +08:00
@gDD 哈哈哈,在lion安装不了gtk,因为没有gcc
ectotherm
2012-01-15 13:03:25 +08:00
@HowardMei 这个东西依赖于gtk,lion安装不了,没戏
gDD
2012-01-15 14:04:37 +08:00
ectotherm
2012-01-15 14:24:32 +08:00
@gDD 我知道通过下载源码编译可以,但是通过brew需要gcc,这跟我直接下载wxpython的代码来编译没什么区别,我要的就是最简便的方案。

下载源代码编译的方案看起来可行,但是我手头有3台mac,这样做起来就太麻烦了。所以最好有一个方案全部搞定的,tkinter就是这样的方案,问题我需要处理中文。
est
2012-01-15 14:54:17 +08:00
PyGUI不需要pip啊,纯.py文件,调用很方便的。
ectotherm
2012-01-15 15:39:05 +08:00
@est 没找到啊,包叫什么来着?
HowardMei
2012-01-15 15:54:57 +08:00
@ectotherm 呵呵,你被它名字弄迷糊了吧,我刚开始也是,直到看到这个:
http://fcamel-life.blogspot.com/2011/09/pythonwebkit.html
名字里有GTK未必就直接依赖于GTK,难道就不能自带干粮?官方文档里:
The GTK+ port of WebKit is intended to provide a browser component for the portable GTK+ UI toolkit. WebKitGTK+ is developed within the official WebKit SVN, so the codebase is unrelated to the classic GTK+ WebCore, but WebKitGTK+ has superseded Gtk+ WebCore. The WebKit Buildbot provides continuous build and layout tests.

unrelated有木有?所以,它是被独立出来,放在webkit里面的,在MacOS上build方法和Linux一样简单:
https://trac.webkit.org/wiki/BuildingGtk

很久以前bookmark的一个列表,看能不能让你偷到懒 :-)
case 1:http://www.gnu.org/software/pythonwebkit/
http://www.notedit.com/2010/11/python-webkit-dom-bindings/

case 2:Titanium Desktop SDKs Community Edition:
http://www.slideshare.net/jhaynie/desktop-applications-using-html-and-javascript
http://www.appcelerator.com/products/plans-pricing/

case 3:PyjamasDesktop(PyWebkitGtk): provides a simpler and more powerful alternative to python-wxWidgets, PyGtk2 and PyQt4.
http://pyjd.org/

case 4:http://code.google.com/p/onering-desktop/

case5:http://code.google.com/p/phantomjs/
https://github.com/Roejames12/phantomjs (pyphantomjs)

case6:
http://awesomium.com/

这些大部分都用webkit做UI render,可以自己加上bottle.py做ajax backend,以求在普通性能需求下用html+css搞定大部分界面互动。

不过这都是走黄老邪的路子,远不如 QT/wxPython 来得成熟,也不如tkinter完整,所以不见得能节省时间。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/25618

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX