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 Tkinter是什么

Python 官方提供的 IDLE(Integrated Development and Learning Environmen,集成开发和学习环境),就是使用完全使用 Tkinter 开发而成的,如下所示:

python 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

标签:python,tkinter
0
投稿

猜你喜欢

  • 在 mysql 中 定义 数据库,表,列时,设定的各个的编码格式

    2010-11-11 11:58:00
  • python密码学库pynacl功能介绍

    2021-03-07 01:29:44
  • Python 硬币兑换问题

    2022-04-03 06:30:09
  • python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算

    2022-08-26 07:14:52
  • Python比较配置文件的方法实例详解

    2021-11-27 05:54:35
  • Golang 利用反射对结构体优雅排序的操作方法

    2024-05-10 13:56:42
  • python里glob模块知识点总结

    2022-10-06 18:13:18
  • Python利用pynimate实现制作动态排序图

    2023-05-25 03:31:32
  • Python使用爬虫抓取美女图片并保存到本地的方法【测试可用】

    2023-11-04 19:44:17
  • python机器学习之线性回归详解

    2022-10-20 19:14:49
  • Python实现爬取并分析电商评论

    2022-11-21 17:18:47
  • pandas 获取季度,月度,年度首尾日期的方法

    2022-08-16 06:53:06
  • python smtplib发送多个email联系人的实现

    2023-07-24 18:39:43
  • Python面向对象class类属性及子类用法分析

    2021-07-22 03:04:46
  • Jinja2过滤器的使用、控制语句示例详解

    2023-01-30 19:02:00
  • Python面向对象编程之类的运算

    2021-06-07 18:39:17
  • Selenium浏览器自动化如何上传文件

    2023-07-12 17:41:01
  • 关于python中导入文件到list的问题

    2021-03-03 21:46:16
  • Java通过MyBatis框架对MySQL数据进行增删查改的基本方法

    2024-01-17 10:27:12
  • 用javascript判断浏览器版本

    2008-04-21 13:50:00
  • asp之家 网络编程 m.aspxhome.com