首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
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
V2EX  ›  Python

python 开发者写 GUI,是用 PyQt 还是 wxPython,而对于 Tkinter,为什么这么多人说它不好啊?

  •  
  •   tooweakchen · 2015-09-20 14:56:48 +08:00 · 31380 次点击
    这是一个创建于 1542 天前的主题,其中的信息可能已经有所发展或是发生改变。

    python 开发者写 GUI,是用 PyQt 还是 wxPython ,而对于 Tkinter,为什么这么多人说它不好啊?

    43 回复  |  直到 2015-09-21 15:53:09 +08:00
        1
    Smirnoff   2015-09-20 15:06:47 +08:00
    Qt 吧 你会爱上他的
        2
    zhuangzhuang1988   2015-09-20 15:09:23 +08:00
    因为那些人瞎扯, 不会用.. 这东西你自己试试 什么好不好的, 只有自己体会..
        3
    tooweakchen   2015-09-20 15:33:56 +08:00
    @Smirnoff 我用 pycharm 中 pip 来安装 python-qt5,但是一直报错, ubuntu14.04 系统
        4
    Felldeadbird   2015-09-20 15:38:07 +08:00 via iPhone
    qt 报错你看看编译的信息,应该是你的 qt 库文件没有声明对
        5
    winkidney   2015-09-20 15:41:35 +08:00
    apt-get intall pyqt
    qt5 类似,这样装吧,免得折腾 qt 本身的包
        6
    gy911201   2015-09-20 15:47:33 +08:00
    @tooweakchen pyqt 在 pip 里只有信息,没有代码,所以 pip 肯定是装不了 pyqt 的
        7
    tooweakchen   2015-09-20 15:52:39 +08:00
    @winkidney 那样装不了
        8
    spacewander   2015-09-20 16:00:52 +08:00
    因为 Tkinter 颜值低
        9
    jimzhong   2015-09-20 16:02:27 +08:00
    特别推荐 pyqt.
        10
    lingo233   2015-09-20 16:05:54 +08:00
    Tkinter 除了难看也就是难看了
        11
    tooweakchen   2015-09-20 16:13:49 +08:00
    @jimzhong 你是怎么安装 pyqt 的啊?
        12
    winkidney   2015-09-20 16:22:19 +08:00
    @tooweakchen 可以的,可能包名不对,我装过 n 次了……你不是 ubuntu 么
        13
    winkidney   2015-09-20 16:23:14 +08:00
    @gy911201 pip 可以装的,只要把 qt 的 binary 和 qt 的 devel 包先装了就行
        14
    chengzhoukun   2015-09-20 17:49:23 +08:00
    Tkinter 不适合做大点的东西,目前只在 TeX Live 2015 里看到安装界面用到它
        15
    htfy96   2015-09-20 17:52:28 +08:00
    tkinter 真心难看,而且架构也不好
        16
    zerh925   2015-09-20 17:56:38 +08:00
    推荐 qt 的不考虑商业授权?
    我们现在用的 wxpython
        17
    aheadlead   2015-09-20 18:02:40 +08:00
    tkinter 写点计算器之类的小玩意还不错
    大东西用 tk 写我觉得还是比较难受的
        18
    jyjmrlk   2015-09-20 18:18:58 +08:00   ♥ 2
    虽然不是很了解,但是前段时间不知道哪里看到这么一句话还是蛮有启发的:“好朋友都是这样的,往往喜欢把自己没搞懂的东西坚定地推荐给自己的死党。”。
        19
    aisk   2015-09-20 18:24:08 +08:00
    丑,和系统原生风格完全不同,并且目前还不支持 retina display (这点尤其不能忍受)。
        20
    wizardforcel   2015-09-20 19:03:50 +08:00
    qt 比较方便,资料也略多一点。

    Tkinter 除了难看,接口也难用。
        21
    WalkingEraser   2015-09-20 19:27:44 +08:00
    tk 真的丑哭了,偏爱 qt
        22
    cxshun   2015-09-20 19:30:48 +08:00
    建议用 QT ,资料不是一般地多啊。
        23
    love   2015-09-20 19:39:27 +08:00   ♥ 1
    我写过 python GUI ,不过我以后不打算再用 tk 和 qt 了。

    我推荐直接用 web 技术, react 尤其适合,效率比 tk 和 qt 高,且界面 UI 更灵活美观。
        24
    iverson68214   2015-09-20 19:46:37 +08:00   ♥ 2
    tk 本身動態 py 本身也是動態 二者組合起來程式一大 就慢上加慢
    Qt + py 能有 C++的速度, py 的優雅語法方便性,二者結合很搭。
    Qt 本身的庫大了點..
    但我試過用 c#、 java 、 pyqt 都寫個小程式 來試 啟動速度
    原本我以為 C#和 java 應該會較快,但結果出乎我預料之外,三者的啟動速度差不多,我沒實測時間
    c#和 java 跑 GUI 應該也是要載入蠻大的庫,所以沒辦法像 Notepad++ 那種啟動速度那麼快
    用 Qt 我覺得有一個很大優點,也是不用 拖拉方式,直接手寫也很好寫,現在再寫都不用拖拉視窗介面的方式來寫了
    推薦 Qt
        25
    echo1937   2015-09-20 19:47:49 +08:00
    @love 我也觉得 python 的 gui 还不如用 web 方便.
        26
    patrickstar   2015-09-20 20:18:50 +08:00
    以前写 C++用过 Qt ,所以现在选择 PyQt ,但还是认为 Qt 的 GUI 开发效率仍然不足够高,不知道走 web 是不是可以更高效
        27
    introom   2015-09-20 20:40:58 +08:00
    看你需要干什么,每个都写过一遍就知道了。平常用 Py{Qt,Side}, 省事就用 tk 。 tk 好处是自带。
        28
    julor   2015-09-20 20:56:53 +08:00
    @love 有参考案例没?
        29
    PythonAnswer   2015-09-20 22:54:19 +08:00
    5 个控件以内的小程序,喜欢直接上 tk ,也不用写类。

    大一些的应用,得上 qt 。 tk 很多控件都太简单,右键菜单,滚动条什么的,都要手动实现。
        30
    qaulau   2015-09-20 22:56:18 +08:00 via Android
    windows 用 jython , linux 就用 pyqt 吧
        31
    izoabr   2015-09-20 22:56:19 +08:00
    其实还有一个打包的问题是不是?

    发布程序的时候,对 QT 之类的依赖就会成为一个比较难的事,要么打包到程序里面,好大,要么让用户自己解决依赖问题,不易用。
        32
    qaulau   2015-09-20 22:57:53 +08:00 via Android
    @qaulau 写错, windows 下用 IronPython
        33
    poke707   2015-09-20 23:48:49 +08:00 via Android
    有人讨论下 kivy 么?其实我也没用过,想看看评论。
        34
    XIVN1987   2015-09-20 23:55:36 +08:00 via Android
    @poke707

    qpython 新版本已经建议优先使用基于 bottle 和 html 的 webapp 了
        35
    towser   2015-09-20 23:59:30 +08:00
    18L 已经道破天机
        36
    Deardrops   2015-09-21 00:35:02 +08:00 via Android
    @qaulau 提到 Ironpython ,不考虑移植性,直接用 c#和 wpf 应该更好吧
        37
    g00001   2015-09-21 02:57:25 +08:00
    python 写点桌面软件界面还真是挺麻烦,在 windows 上 那还是 aardio 做出来的界面小而美。
        38
    fangdingjun   2015-09-21 09:07:43 +08:00
    我一直在用 pygtk ,使用 glade 画界面,代码只专注于事件处理,感很不错。
        39
    AnyOfYou   2015-09-21 10:26:58 +08:00
    感觉 PyQt 的文档看起来很蛋疼。
        40
    jimzhong   2015-09-21 13:24:23 +08:00
    @tooweakchen 我用的是 fedora, 可以用 dnf 安装
        41
    weyou   2015-09-21 13:34:40 +08:00
    @AnyOfYou 我都是直接看 qt 的文档, 没遇到过什么问题。
        42
    weyou   2015-09-21 13:35:19 +08:00
    @poke707 顶一下 kivy ,有人发表下意见吗
        43
    g0t3n   2015-09-21 15:53:09 +08:00
    @love 曾经我也纠结在 python 的 ui ,后来发现写 web 才是真正解决问题的的最佳实践啊
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4117 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 35ms · UTC 01:28 · PVG 09:28 · LAX 17:28 · JFK 20:28
    ♥ Do have faith in what you're doing.