推荐学习书目
› 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
tooweakchen
V2EX  ›  Python

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

  •  
  •   tooweakchen · Sep 20, 2015 · 39803 views
    This topic created in 4068 days ago, the information mentioned may be changed or developed.

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

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

    Tkinter 除了难看,接口也难用。
    WalkingEraser
    WalkingEraser
    Sep 20, 2015
    21
    tk 真的丑哭了,偏爱 qt
    cxshun
    cxshun
    Sep 20, 2015
    22
    建议用 QT ,资料不是一般地多啊。
    love
    love
    Sep 20, 2015❤️1
    23
    我写过 python GUI ,不过我以后不打算再用 tk 和 qt 了。

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

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

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

    qpython 新版本已经建议优先使用基于 bottle 和 html 的 webapp 了
    towser
    towser
    Sep 20, 2015
    35
    18L 已经道破天机
    Deardrops
    Deardrops
    Sep 21, 2015 via Android
    36
    @qaulau 提到 Ironpython ,不考虑移植性,直接用 c#和 wpf 应该更好吧
    g00001
    g00001
    Sep 21, 2015
    37
    python 写点桌面软件界面还真是挺麻烦,在 windows 上 那还是 aardio 做出来的界面小而美。
    fangdingjun
    fangdingjun
    Sep 21, 2015
    38
    我一直在用 pygtk ,使用 glade 画界面,代码只专注于事件处理,感很不错。
    AnyOfYou
    AnyOfYou
    Sep 21, 2015
    39
    感觉 PyQt 的文档看起来很蛋疼。
    jimzhong
    jimzhong
    Sep 21, 2015
    40
    @tooweakchen 我用的是 fedora, 可以用 dnf 安装
    weyou
    weyou
    Sep 21, 2015
    41
    @AnyOfYou 我都是直接看 qt 的文档, 没遇到过什么问题。
    weyou
    weyou
    Sep 21, 2015
    42
    @poke707 顶一下 kivy ,有人发表下意见吗
    g0t3n
    g0t3n
    Sep 21, 2015
    43
    @love 曾经我也纠结在 python 的 ui ,后来发现写 web 才是真正解决问题的的最佳实践啊
    ZDLv3ex
    ZDLv3ex
    Jul 15, 2020
    44
    @lingo233 主要是太简陋了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2192 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 82ms · UTC 14:17 · PVG 22:17 · LAX 06:17 · JFK 09:17
    ♥ Do have faith in what you're doing.