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

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

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

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

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

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