python最好用的gui工具,python gui开发工具什么好

  python最好用的gui工具,python gui开发工具什么好

  Python自带的GUI库Tkinter值得学习吗?Tkinter是什么?Tkinter值得学习吗?摘要如下:

  Python语言可以用在很多方面,比如网站开发、数据分析、运维、游戏开发等。桌面应用GUI怎么样?实际上,Python标准库附带了Tkinter,这就是它的作用。对比PyQT,wxPython等。Tkinter的优缺点是什么?值得学习吗?

  Tkinter是什么?要了解Tkinter,首先要从Tcl编程语言说起。Tcl语言的全称是“工具命令语言”,是由John Ousterman在20世纪80年代创建的一种解释性编程语言。当时,John Ousterman正在加州大学伯克利分校工作,需要一种相对简洁的编程语言来开发工程工具,所以他用C语言编写了这种解释性语言。感觉故事有点像Python!

  接下来,他用C和Tcl编写了一个专门用于GUI编程的库,名为Tk。当时Tcl/Tk在八九十年代非常流行,尤其是在学术界、工程师和Unx程序员中。

  而Tkinter是什么?

  我们知道Python在1994年首次发布了1.1版本,标准库需要各方面的库,包括文本处理、图像处理等。当然,GUI是不可或缺的。吉多范罗苏姆(Python语言的创始人)认为Tk库是现成的,相当好用,所以不会再造轮子了。他用C语言写了一个可以调用Python中Tk的接口,然后把Tcl/Tk一起封装在标准库中,让Python实现GUI的开发功能。而Python中的这个接口就是Tkinter。

  你会说:“怎么会这样!”其实这也很正常。好东西,大家分享一下吧!不仅在Python中直接调用Tk库,Perl和Haskell中的GUI库也是Tcl/Tk。

  Tkinter值得学习吗?了解了以上Tcl、Tk、Tkinter的历史,再来说说这些是否值得借鉴。

  其实任何技术的选择都取决于这个技术的特点是否适合你的需求。对于Tkinter来说,其特点大致如下:

  1. Python标准库里缺省自带

  这个Tkinter可以说相当于Python事实上的标准GUI库。有什么好处?有Python的地方就有Tkinter,不用再找别的第三方库单独安装,避免了兼容性、版本等一堆问题。这样对新手更友好。

  2. Tkinter的API比较稳定

  十几年前开发的工具基本还能运行。Tcl/Tk从90年代中后期开始更新非常缓慢(基本没有变化)。TCL/TK 8.5版本一直在用,直到2012年才有了8.6版本。更新慢也有好处,写出来的程序用不了几年就不好用了。

  3. Tkinter就是个单纯的GUI库

  Tkinter是一个简单的GUI库,没有别的。真正想实现什么功能,取决于其他Python库。不像PyQT和wxPython这样大而全的框架,你必须自己做一套。

  4. 简洁

  这个特性可以成为一个优势:适合入门级和小型应用的开发,但也导致了Tkinter的两大问题。一个是界面比较简单。Tk8.6虽然现在有了进步,但是相比其他框架还是有很多差距;另一个是所提供的控件是基本的,有点复杂。例如,HTML显示组件需要找到另一种方法。

  那么,Tkinter什么时候适合学习和使用呢?

  如果你是初入门的Python程序员,对Python的基本语法已经有所了解,想做点小应用实践实践,那么推荐你可以学习Tkinter。

  因为如果一直开发命令行应用,往往不够直观,成就感比较低,无法促进进一步学习的兴趣。

  这时候如果直接开始开发Web应用,还是需要了解html、css、js等一堆前端的东西。比较麻烦,而且就算开发出来也只会在这台机器上运行。如果真的要部署到网络上,会有域名、服务器等一系列问题。

  而且学了Tkinter之后,可以马上做一些小应用,比如本地文件管理小工具,图片查看app,解压app……这些小应用的开发其实主要是对Python处理这些问题的方法和库的了解。Tkinter只是封装了一个UI。也就是说,你其实是在进一步学习Python。当然,你可以不断优化这些小工具,把它们作为你自己定制的工具,甚至分享给你的朋友。很好玩。

  5. 对于有一定基础的Python程序员,什么时候适合学下Tkinter呢?

  当你需要写一些小工具的时候,你就是一个Python程序员。工作中难免需要一些桌面工具来解决一些小问题。学Tkinter绝对是一个低投入高产出的选择。比如我以前的同事做测试,有些配置工作比较麻烦,容易出错。这时候用tkinter写个配置小工具就方便多了。

  另一个是有些应用原型可以用Tkinter编写。很多时候,一个应用的需求并不是很明确。可以先用Tkinter快速写一个,拿出来讨论,进一步明确要求。当真实需求明确后,根据需求选择技术方案。

  总结如下:Tkinter的特点比较适合初学者学习Python,Python程序员开发一些小工具,Python程序员做原型应用。

  而如果你的目标是开发者使用的桌面应用,Tkinter可能不适用。建议使用PyQT或者直接使用其他语言。

  如有疑问,欢迎在评论区一起讨论!

  如有不正确的地方,欢迎指导!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: