V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
gzxultra
V2EX  ›  Python

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

  •  
  •   gzxultra · 2015-06-20 22:05:26 +08:00 · 16081 次点击
    这是一个创建于 3423 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    知识建议网络通讯,socket等等,图形界面编程,消息驱动等等等等...
    terax
        3
    terax  
       2015-06-20 22:16:50 +08:00
    难道不是Learn Python the Hard Way吗?
    garth
        4
    garth  
       2015-06-20 22:36:06 +08:00
    可以试试aauto
    zjqzxc
        5
    zjqzxc  
       2015-06-20 22:39:53 +08:00
    能,而且正在写。。用的tk(简单,简单到不能再简单了,最重要的是,跨平台方便)。但是,真的好丑。如果不需要特别精致的界面,tk还是一个不错的选择
    chengzhoukun
        6
    chengzhoukun  
       2015-06-20 23:25:18 +08:00 via Android
    只用过自带的Tkinter,非常方便
    squid157
        7
    squid157  
       2015-06-20 23:33:10 +08:00
    说Tk难看的,估计都不是OS X系统吧。。OS X下面Tk还比较良心。至少我是这么觉得。。
    cchange
        8
    cchange  
       2015-06-20 23:39:12 +08:00
    http://www.v2ex.com/t/84734#reply32 很巧 我也提了这个问题
    secondwtq
        9
    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
        10
    gzxultra  
    OP
       2015-06-21 07:15:37 +08:00
    @terax 咳咳咳,不要在意这个@-@
    gzxultra
        11
    gzxultra  
    OP
       2015-06-21 07:16:22 +08:00
    @undeflife @janxin 谢谢推荐,今天刷完入门书就去试试!
    fortunezhang
        12
    fortunezhang  
       2015-06-21 07:34:32 +08:00
    dropbox 就是用的python 。 安装的话建议用这个: http://stackoverflow.com/questions/29158999/py2exe-generate-single-installer-file
    jimzhong
        13
    jimzhong  
       2015-06-21 08:21:02 +08:00
    可以,用GTK写过,但是移植到windows下就变得很丑了。
    nightv2
        14
    nightv2  
       2015-06-21 09:25:12 +08:00
    @secondwtq pyinstaller感觉制作exe比较好
    Yien
        15
    Yien  
       2015-06-21 09:39:22 +08:00 via iPhone
    make
    Tink
        16
    Tink  
       2015-06-21 10:28:25 +08:00
    QT
    Yinz
        17
    Yinz  
       2015-06-21 12:54:36 +08:00
    @nightv2 我试过用pyinstaller打包出来的去win报错“此文件的版本与正在运行的Windows版本不兼容”
    请问有头绪吗?
    AndersQ
        18
    AndersQ  
       2015-06-21 13:02:00 +08:00
    当然可以,但是Python是解释型语言,这意味着:
    1)用Python开发出的GUI桌面程序性能肯定要比原生编译出来的程序要差一些;
    2)部署的时候,你必须要带上一大堆Python运行时相关的文件。

    Python标准库中就有TKinter,但是功能比较弱,推荐有PyQt/PySide/wxPython/PyGTK等等
    em70
        19
    em70  
       2015-06-21 13:04:35 +08:00
    不要指望用一个语言打遍天下,每个领域都有垄断性的工具,都应该掌握
    jsq2627
        20
    jsq2627  
       2015-06-21 13:12:36 +08:00
    如果仅仅是为了完成作业,建议学习用 ObjC (Cocoa)/C++ (Qt) 写原生应用,不会很复杂。
    HowardMei
        21
    HowardMei  
       2015-06-21 14:06:32 +08:00
    要想漂亮,可以考虑用enaml (没到1.0版,文档不够新),支持PyQT/PySide和CSS定义控件
    http://nucleic.github.io/enaml/docs/examples/ex_gradient_push_button.html
    rundis
        22
    rundis  
       2015-06-21 14:17:32 +08:00
    要做桌面程序的话,直接用visual c#,强行一波拖拉无脑做出gui
    wshcdr
        23
    wshcdr  
       2015-06-21 15:18:17 +08:00
    用wxPython吧
    wolong
        24
    wolong  
       2015-06-21 15:39:20 +08:00
    桌面程序还是C#方便快捷。
    ivenvd
        25
    ivenvd  
       2015-06-21 18:42:18 +08:00
    呃,大部分 Linux 桌面应用(尤其 GNOME)都是 Python 写的吧?
    linux40
        26
    linux40  
       2015-06-22 08:21:19 +08:00 via Android
    没叫用图形啊
    fxbird
        27
    fxbird  
       2015-06-22 09:37:27 +08:00
    要做桌面还是用.net吧,还是那个方便,我曾经用java swing开发过桌面程序,从OO的角度说,它很完美,但从实用的角度讲,简直是渣,开发起来那叫一个累啊
    wizardforcel
        28
    wizardforcel  
       2015-06-22 19:38:41 +08:00 via Android
    tkinter不仅丑 设置长宽的时候也别扭。
    staticor
        29
    staticor  
       2015-06-22 23:51:07 +08:00
    我是无意在quora中看到一个问题中, 回想起些许与此问题有关, 所以转link http://www.quora.com/Is-it-true-that-Python-is-a-dying-language
    参考下Adam的回答.
    WispZhan
        30
    WispZhan  
       2015-06-23 11:04:29 +08:00
    我没有用python开发过桌面应用的经验。个人感觉,可以是可以,但是总感觉开发效率不如其他平台。

    windows下开发效率明显低于wpf,linux下直接Qt感觉更快。甚至于半残的javaFX应该比它的效率高。
    Clarencep
        31
    Clarencep  
       2015-06-23 17:53:44 +08:00
    歪个楼,这么喜欢用python,不如搞个类似[WebQQ][http://web.qq.com/]的web应用,直接用浏览器访问……这也是QQ
    guiqiqi
        32
    guiqiqi  
       2015-07-07 07:47:47 +08:00 via Android
    @wizardforcel ttk就能好些吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   981 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 20:23 · PVG 04:23 · LAX 13:23 · JFK 16:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.