Tkinter教程系列01——引言和安装Tk
Tkinter教程系列01——引言和安装Tk
首发于我的个人博客 https://chens.life/tkinter-tutorial-chapter-01-introduction-and-install-tk.html
引言
这个教程针对于 Tkinter 的初学者而攥写,但也应该具有 Python 的基础知识。
此教程是我学习 Tk 的记录和总结,希望能够帮助到他人。
此教程针对 Tk 8.5或者更高版本,如果不是,请安装最新版。本教程使用 Python 进行演示,如果使用其他语言,Tk函数库的大部分都是相同的,详细区别请查找对应的文档。
本教程覆盖 95% 的在程序中会用到的基本内容,剩下的请自请查找参考文档。
什么是Tkinter
Tkinter是当前主流的,也是 Python 的标准图形化用户界面工具包。我们在初学 Python 的时候肯定都用过 IDLE,而这个小型的IDE就是用 Tkinter 开发出来的,足以见到它的方便和易用性(图1-1)。使用 Tk 可以编写实用的图形界面小程序,设计现代的图形界面。

安装 Tk
为 Windows 安装 Tk
自从 Python 3.1 之后,Tkinter 就被包括在 Python标准库中。你必须确保自己的 Python 版本支持 Tk 8.5 或者更高版本。本教程使用 Python 3.x。请在 Python 官网下载页面下载最新版 Python 。
验证是否安装正确
安装之后,需要验证 tkinter 版本是否正确。打开 cmd,输入 python 进入交互界面,并输入下面两行命令:
import tkinter
tkinter._test()
你将会看到一个小窗口,上面有 Tkinter 的版本信息。注意!你的 Tk 版本必须大于 8.5 或者更高(图1-2)。

或者,你可以输入以下命令直接的得到 Tcl/Tk 的版本(图1-3):
tkinter.Tcl().eval('info patchlevel')

为 GNU/Linux 安装 Tk
由于Linux不会自动的安装 Tk 和 ttk,所以需要手动的安装。安装有许多方式,这里仅提供一种最简单的方式。
使用 Linux 的包管理器进行安装
例如,如果你正在使用 Ubuntu 或者 Debian 系的 Linux 发行版,那么输入以下命令以安装 python3-tk:
sudo apt-get install python3-tk
同样的道理也适用于 ReadHat 系。
验证是否安装正确
同 Windows 的验证一样,在 Python 的解释命令行中输入:
import tkinter
tkinter._test()
或者输入以下命令直接的得到版本信息:
tkinter.Tcl().eval('info patchlevel')
同样的,注意你的 tk 版本必须为 8.5 或者更高版本!
第一个 Tk 程序
为了确保所有的环境都已经设置正确,按照惯例,我们来使用 Tk 编写一个“Hello World!”程序。
使用你最拿手的编辑器敲下下面的代码即可,我们将在后续逐步讲解它们的作用。
from tkinter import *
from tkinter import ttk
root = Tk()
ttk.Button(root, text="Hello World!").grid()
root.mainloop()
将文件保存为“hello.py”,在命令提示符或者 Bash 中输入:
python hello.py
如果找不到文件,请查看当前是否在文件所在的目录之中,或者输入完整路径名。
如果执行正确,你将会看到如图所示的窗口(图1-4)。

Tkinter教程系列01——引言和安装Tk的更多相关文章
- Tkinter系列教程01—引言和安装Tk—Python GUI编程
目录 Tkinter教程系列01--引言和安装Tk 引言 什么是Tkinter 安装 Tk 为 Windows 安装 Tk 验证是否安装正确 为 GNU/Linux 安装 Tk 使用 Linux 的包 ...
- Tk 的基本概念-组件—Tkinter 教程系列03
Tk 的基本概念-组件-Tkinter 教程系列03 前言 Tk 系列教程: Tkinter教程系列01--引言和安装Tk Tkinter教程系列02--第一个真正的 GUI 程序 通过上一节的程序实 ...
- 第一个真正的 GUI 程序——Tkinter教程系列02
第一个真正的 GUI 程序--Tkinter教程系列02 前言 欢迎光临我的个人博客 chens.life Tk 系列教程: Tkinter教程系列01--引言和安装Tk 我们将编写一个英尺和米的转换 ...
- Node.js 教程 01 - 简介、安装及配置
系列目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 0 ...
- 01 Flume系列(一)安装配置
01 Flume系列(一)安装配置 Flume(http://flume.apache.org/) is a distributed, reliable, and available service ...
- 【全网最全的博客美化系列教程】01.添加Github项目链接
全网最全的博客美化系列教程相关文章目录 [全网最全的博客美化系列教程]01.添加Github项目链接 [全网最全的博客美化系列教程]02.添加QQ交谈链接 [全网最全的博客美化系列教程]03.给博客添 ...
- kubernetes系列(十七) - 通过helm安装dashboard详细教程
1. 前提条件 2. 配置https证书为secret 3. dashboard安装 3.1 helm拉取dashboard的chart 3.2 配置dashboard的chart包配置 3.3 he ...
- php从入门到放弃系列-01.php环境的搭建
php从入门到放弃系列-01.php环境的搭建 一.为什么要学习php 1.php语言适用于中小型网站的快速开发: 2.并且有非常成熟的开源框架,例如yii,thinkphp等: 3.几乎全部的CMS ...
- Silverlight,Windows 8应用开发实例教程系列汇总
Kevin Fan分享开发经验,记录开发点滴 Silverlight,Windows 8应用开发实例教程系列汇总 2012-06-18 01:05 by jv9, 2145 阅读, 3 评论, 收藏, ...
随机推荐
- 如何使用 js 实现一个树组件
如何使用 js 实现一个树组件 tree component const arr = [ { id: 1, value: 1, level: 1, parentId: 0, }, { id: 2, v ...
- CSS BFC in depth
CSS BFC in depth BFC (Block Formatting Context) https://developer.mozilla.org/en-US/docs/Web/Guide/C ...
- App Store Previewer
App Store Previewer App Store 模拟器 https://www.storepreviewer.com/ xgqfrms 2012-2020 www.cnblogs.com ...
- taro list render bug
taro list render bug 列表渲染 https://taro-docs.jd.com/taro/docs/list.html not support jsx map 垃圾微信 cons ...
- Apache 低版本不支持 WebSocket
Apache 低版本不支持 WebSocket Apache HTTP Server Version 2.4 Apache Module mod_proxy_wstunnel https://http ...
- nasm astrchr函数 x86
xxx.asm: %define p1 ebp+8 %define p2 ebp+12 %define p3 ebp+16 section .text global dllmain export as ...
- NGK数字增益平台的算力是什么?
今年的币价回暖带来了新一轮的"信仰充值",部分投资者对比特币的兴趣从购买向更源头的算力转移.随着比特币开采数量逐渐减少,全网算力一直在增加,算力难度也是越来越高.同时在算力行业中竞 ...
- iframe页面刷新
//方法1 document.getElementById('FrameID').contentWindow.location.reload(true); //方法2 document.getElem ...
- redis数据结构和对象一
1. SDS:简单动态字符串(simple dynamic string) Redis没有直接使用C语言的字符串,而是自己构建了一种名为简单动态字符串类型,并将SDS用作Redis的默认字符串. SD ...
- C++核心篇
C++核心编程 本阶段主要针对C++面向对象编程技术做详细讲解,探讨C++中的核心和精髓. 1 内存分区模型 C++程序在执行时,将内存大方向划分为4个区域 代码区:存放函数体的二进制代码,由操作系统 ...