python 开发者写 GUI,是用 PyQt 还是 wxPython,而对于 Tkinter,为什么这么多人说它不好啊? - V2EX
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
tooweakchen
V2EX    Python

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

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

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

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

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

    我推荐直接用 web 技术, react 尤其适合,效率比 tk 和 qt 高,且界面 UI 更灵活美观。
    iverson68214
        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
    echo1937
        25
    echo1937  
       2015-09-20 19:47:49 +08:00
    @love 我也觉得 python 的 gui 还不如用 web 方便.
    patrickstar
        26
    patrickstar  
       2015-09-20 20:18:50 +08:00
    以前写 C++用过 Qt ,所以现在选择 PyQt ,但还是认为 Qt 的 GUI 开发效率仍然不足够高,不知道走 web 是不是可以更高效
    introom
        27
    introom  
       2015-09-20 20:40:58 +08:00
    看你需要干什么,每个都写过一遍就知道了。平常用 Py{Qt,Side}, 省事就用 tk 。 tk 好处是自带。
    julor
        28
    julor  
       2015-09-20 20:56:53 +08:00
    @love 有参考案例没?
    PythonAnswer
        29
    PythonAnswer  
       2015-09-20 22:54:19 +08:00
    5 个控件以内的小程序,喜欢直接上 tk ,也不用写类。

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

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

    qpython 新版本已经建议优先使用基于 bottle 和 html 的 webapp 了
    towser
        35
    towser  
       2015-09-20 23:59:30 +08:00
    18L 已经道破天机
    Deardrops
        36
    Deardrops  
       2015-09-21 00:35:02 +08:00 via Android
    @qaulau 提到 Ironpython ,不考虑移植性,直接用 c#和 wpf 应该更好吧
    g00001
        37
    g00001  
       2015-09-21 02:57:25 +08:00
    python 写点桌面软件界面还真是挺麻烦,在 windows 上 那还是 aardio 做出来的界面小而美。
    fangdingjun
        38
    fangdingjun  
       2015-09-21 09:07:43 +08:00
    我一直在用 pygtk ,使用 glade 画界面,代码只专注于事件处理,感很不错。
    AnyOfYou
        39
    AnyOfYou  
       2015-09-21 10:26:58 +08:00
    感觉 PyQt 的文档看起来很蛋疼。
    jimzhong
        40
    jimzhong  
       2015-09-21 13:24:23 +08:00
    @tooweakchen 我用的是 fedora, 可以用 dnf 安装
    weyou
        41
    weyou  
       2015-09-21 13:34:40 +08:00
    @AnyOfYou 我都是直接看 qt 的文档, 没遇到过什么问题。
    weyou
        42
    weyou  
       2015-09-21 13:35:19 +08:00
    @poke707 顶一下 kivy ,有人发表下意见吗
    g0t3n
        43
    g0t3n  
       2015-09-21 15:53:09 +08:00
    @love 曾经我也纠结在 python 的 ui ,后来发现写 web 才是真正解决问题的的最佳实践啊
    ZDLv3ex
        44
    ZDLv3ex  
       2020-07-15 16:00:04 +08:00
    @lingo233 主要是太简陋了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     917 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 21:00 PVG 05:00 LAX 14:00 JFK 17:00
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86