请问 Python 能用来编写桌面应用么

2015-06-20 22:05:26 +08:00
 gzxultra

刚开始学,目前看着the hard way learn python
接下来学校有个网络课设,大概要做出一个类似QQ的通讯软件(聊天,传文件,发图片...)
要在OS X下做出这个应用需要学哪些知识呢?
请给出学习路线(界面,框架...)

15900 次点击
所在节点    Python
32 条回复
undeflife
2015-06-20 22:13:03 +08:00
GUI的话可选tk、qt 或者wxWidgets
tk比较丑 但是简单
qt有自己的UI
wxWidgets则是使用平台原生
janxin
2015-06-20 22:16:36 +08:00
pyqt/pyside,qt系的
kivy,没用过....
tk,wxWidgets都是老牌的了

知识建议网络通讯,socket等等,图形界面编程,消息驱动等等等等...
terax
2015-06-20 22:16:50 +08:00
难道不是Learn Python the Hard Way吗?
garth
2015-06-20 22:36:06 +08:00
可以试试aauto
zjqzxc
2015-06-20 22:39:53 +08:00
能,而且正在写。。用的tk(简单,简单到不能再简单了,最重要的是,跨平台方便)。但是,真的好丑。如果不需要特别精致的界面,tk还是一个不错的选择
chengzhoukun
2015-06-20 23:25:18 +08:00
只用过自带的Tkinter,非常方便
squid157
2015-06-20 23:33:10 +08:00
说Tk难看的,估计都不是OS X系统吧。。OS X下面Tk还比较良心。至少我是这么觉得。。
cchange
2015-06-20 23:39:12 +08:00
http://www.v2ex.com/t/84734#reply32 很巧 我也提了这个问题
secondwtq
2015-06-21 00:36:18 +08:00
学校会接受 OS X 的作业么?

我其实有 Windows 桌面程序的需求,原因是要做一些小工具。现在比较火的快速开发框架,Python,node-webkit 之类,都有一个问题,就是如果在一般用户的机器上面跑,我是不用指望那边有 Runtime 的。偏偏这俩货的 Runtime 都臃肿的一比。

OS X 倒还好些,起码预装了 Python,Ruby etc. 不过我看到这个东西,第一反应是 PyObjC... Tk 据说还可以,没用过,但是 Git 自带一个 GUI 工具,切到一个 repo 目录下面运行 gitk 就能看见了... 你可以看看那货源码,我只能表示涨姿势了,我觉得弄出这么一个工具来,这个框架还凑合。
gzxultra
2015-06-21 07:15:37 +08:00
@terax 咳咳咳,不要在意这个@-@
gzxultra
2015-06-21 07:16:22 +08:00
@undeflife @janxin 谢谢推荐,今天刷完入门书就去试试!
fortunezhang
2015-06-21 07:34:32 +08:00
dropbox 就是用的python 。 安装的话建议用这个: http://stackoverflow.com/questions/29158999/py2exe-generate-single-installer-file
jimzhong
2015-06-21 08:21:02 +08:00
可以,用GTK写过,但是移植到windows下就变得很丑了。
nightv2
2015-06-21 09:25:12 +08:00
@secondwtq pyinstaller感觉制作exe比较好
Yien
2015-06-21 09:39:22 +08:00
make
Tink
2015-06-21 10:28:25 +08:00
QT
Yinz
2015-06-21 12:54:36 +08:00
@nightv2 我试过用pyinstaller打包出来的去win报错“此文件的版本与正在运行的Windows版本不兼容”
请问有头绪吗?
AndersQ
2015-06-21 13:02:00 +08:00
当然可以,但是Python是解释型语言,这意味着:
1)用Python开发出的GUI桌面程序性能肯定要比原生编译出来的程序要差一些;
2)部署的时候,你必须要带上一大堆Python运行时相关的文件。

Python标准库中就有TKinter,但是功能比较弱,推荐有PyQt/PySide/wxPython/PyGTK等等
em70
2015-06-21 13:04:35 +08:00
不要指望用一个语言打遍天下,每个领域都有垄断性的工具,都应该掌握
jsq2627
2015-06-21 13:12:36 +08:00
如果仅仅是为了完成作业,建议学习用 ObjC (Cocoa)/C++ (Qt) 写原生应用,不会很复杂。

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

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

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

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

© 2021 V2EX