python界面开发工具哪个好_Python UI 开发用哪个好?

[TOC] 以下内容在未标注时,同时对linux和Windows成立。

tkinter

界面较为简单,或者难度较大但是要求跨平台的时候可以考虑选用tkinter。

原因:

跨平台性好

linux\OSX\Windows都可以,甚至也支持龙芯、树莓派等非X86的CPU。

对于内置控件,操作逻辑简单

比如Text控件(多行文本编辑),自定义了各种功能键的响应。而wxpython的TextCtrl在linux下需要自行定义多种功能键,否则可能会在按到未定义的功能键的时候崩溃。

环境搭建方便。

在linux下搭建环境非常简单,一行命令搞定;Windows下干脆就是自带界面库。运用ttk控件无需设置样式即可适应平台的默认控件风格。

性能好

在使用pyinstaller打包的条件下,tkinter的性能不错,一般人并不能感觉出与C++写的界面的性能差别。而且相比其他图形界面库,实现同样的功能依赖的类库很小,不像PyQt打包后往往几十M起步。tkinter打包一些简单小工具可以控制在十几M.

限制条件:

图形化编辑器的易用性不如其他界面库;

不够直观。

很多控件都没有默认的库,需要自己写。

比如,内置的选项卡控件不带有关闭标签页的功能;没有内置工具栏控件,需要自己写工具栏等。

界面设计逻辑,尤其是布局,与其他系统差异较大。

tkinter基于的tcl/tk,这个界面库的创建时间比Qt(PyQt或者PySide的基础)、WxWidgets(wxpython的基础)早几年,但这几年正是图形界面飞速发展的几年,这个提前量也就意味着这个系统存在更多的历史遗留问题,它的布局系统pack、grid相比Qt中的Layout、Wx中的sizer来讲,理解难度较大,也与认知差距较大,学习起来相对不方便。

对一些第三方库支持不够好

如果想将一些以Opengl、三维视图等等为代表的库嵌入到tkinter界面中,你就会发现没有相应的绑定功能。如果一定要这么做,请改用PyQt/PySide或者说是wxPython等。 我尝试过在Windows、Linux平台上支持tkinter的库(主要是在显示和绘图方面)有:

Matplotlib

科学计算绘图

cefpython

浏览器模块。如果要做“图形界面+浏览器”并且不愿意学习electron等等技术的话,用tkinter界面承载浏览器是最合适的,因为除了浏览器之外的部分体积非常小。

Pyopengltk

tkinter的第三方Opengl绑定——但是这个库不太稳定。

wxpython

界面较为复杂时可以考虑wxpython。tkinter的一切缺点,wxpython基本都可以克服。当然,也有不少缺点

优点

平台兼容性好

以Sciwx/ImagePy项目为例,这个项目兼容Windows/Linux/OSX,并且已经成功的移植到了龙芯处理器的deepin系统上。

支持第三方库多

前述的有关tkinter支持的第三方库,wxpython都是支持的。除此之外,它对Vispy、VTK、PyOpengl、Moderngl等等库的支持非常非常优秀。要开发与可视化相关软件,可以考虑wxpython。

缺点

linux安装麻烦

Windows上相对简单;而在Linux平台上安装需要很大的耐心,可以尝试新建一个全新的conda环境再用pip安装,这样成功率会高一些。

PyQt的以后再更...先去复习考研了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值