python Tkinter是什么
作者:JIeJaitt 时间:2022-07-26 08:31:51
Tkinter(即 tk interface,简称“Tk”)本质上是对 Tcl/Tk 软件包的 Python 接口封装,它是 Python 官方推荐的 GUI 工具包,属于 Python 自带的标准库模块,当您安装好 Python 后,就可以直接使用它,而无须另行安装。
作为一款 Python GUI 工具,Tkinter 拥有良好的跨平台性,支持 Windows、Linux、Mac 平台,它传承了 Python 语法简洁、代码易读的基本特点。
与其他编程语言的 GUI 工具包相比,Tkinter 编码效率高,能够实现快速开发的目的,非常适合初学者学习。Tkinter 使用纯 Python 语言开发,与 C/C++ 开发的 Qt 框架相比,Tkinter 有自身的局限性,比如性能、功能丰富程度等都不及 Qt,因此它只适合开发一些简单的程序,比如计算器的界面,或者一个简易的聊天窗口等。如下图所示:
通常情况下不会使用 Tkinter 来开发较为复杂的桌面应用程序,这是由 Python 语言自身特点决定的,作为一种解释型语言和脚本语言,Python 并不具备开发复杂桌面应用的优势。
但“麻雀虽小,五脏俱全”,Tkinter 作为 Python GUI 开发工具之一,它具有 GUI 软件包的必备的常用功能。比如,它提供了十多种不同类型的窗口控件、窗口布局管理器、事件处理机制等,加之其开发效率高、代码简洁易读, Tkinter 自问世以来,备受大家青睐。当您想要制作一个小工具的界面或者比较简单的桌面应用程序时,那么Tkinter 将是一个不错的选择。
在 CMD 命令行运行以下命令,可以查看 Tkinter 的相应版本,同时也会显示一个简易的窗口,命令如下:
python -m tkinter
显示出的窗口如下所示:
Python 官方提供的 IDLE(Integrated Development and Learning Environmen,集成开发和学习环境),就是使用完全使用 Tkinter 开发而成的,如下所示:
无论您是学习 Tkinter ,亦或是学习其他语言的 GUI 软件包,下列给出几点学习建议,帮助您找到学习 GUI 编程的方法:
Tk 提供了诸多窗口控件(后续将详细讲解),这些控件形状各异,功能也不尽相同,在编写 GUI 程序的过程中,您可以把这些控件看做一块块的“积木”,而搭建积木这项工程,不仅要求您了解每块积木的形状(即控件作用),更重要是学会搭建积木的方法,学会如何摆放这些积木。只有这样,最终才能将这些积木构建一个完整、美观的“图形界面”。
在介绍控件用法的同时,更注重讲解“搭建”方法,才能真正明白和掌握 GUI 编程。
Tkinter 中会涉及一些 GUI 编程的概念,比如根窗口(root)、顶级窗口(TopLeve)、Canvas(画布)、Frame(容器)、标签(Lable)等,对这些概念的理解,将有助于您理解 GUI 编程的逻辑思路,这样当您在使用 Tkinter 编程时就会得心应手。
来源:https://blog.csdn.net/weixin_52723461/article/details/122461217
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
在 mysql 中 定义 数据库,表,列时,设定的各个的编码格式
python密码学库pynacl功能介绍
Python 硬币兑换问题
python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算
Python比较配置文件的方法实例详解
Golang 利用反射对结构体优雅排序的操作方法
![](https://img.aspxhome.com/file/2023/9/127489_0s.png)
python里glob模块知识点总结
Python利用pynimate实现制作动态排序图
![](https://img.aspxhome.com/file/2023/4/88994_0s.gif)
Python使用爬虫抓取美女图片并保存到本地的方法【测试可用】
![](https://img.aspxhome.com/file/2023/3/79703_0s.png)
python机器学习之线性回归详解
![](https://img.aspxhome.com/file/2023/0/120360_0s.png)
Python实现爬取并分析电商评论
![](https://img.aspxhome.com/file/2023/1/131201_0s.png)
pandas 获取季度,月度,年度首尾日期的方法
python smtplib发送多个email联系人的实现
![](https://img.aspxhome.com/file/2023/0/130760_0s.png)
Python面向对象class类属性及子类用法分析
Jinja2过滤器的使用、控制语句示例详解
![](https://img.aspxhome.com/file/2023/1/104911_0s.png)
Python面向对象编程之类的运算
Selenium浏览器自动化如何上传文件
关于python中导入文件到list的问题
![](https://img.aspxhome.com/file/2023/9/125139_0s.png)