Tkinter系列教程01—引言和安装Tk—Python GUI编程
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—Python GUI编程的更多相关文章
- Tkinter教程系列01——引言和安装Tk
		Tkinter教程系列01--引言和安装Tk 首发于我的个人博客 https://chens.life/tkinter-tutorial-chapter-01-introduction-and-ins ... 
- Node.js 教程 01 - 简介、安装及配置
		系列目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 0 ... 
- springCloud系列教程01:Eureka 注册中心集群搭建
		springCloud系列教程包含如下内容: springCloud系列教程01:Eureka 注册中心集群搭建 springCloud系列教程02:ConfigServer 配置中心server搭建 ... 
- Python GUI编程(Tkinter) windows界面开发
		Python实现GUI简单的来说可以调用Tkinter库,这样一般的需求都可以实现,显示简单的windows窗口代码如下: python_gui.py 1 #!C:\Python27\python.e ... 
- Python gui编程pyQt5安装步骤t
		Python gui编程pyQt5安装步骤 pip install PyQt5 Pip3 install PyQt5 https://riverbankco ... 
- Python gui编程pyQt5安装步骤
		Python gui编程pyQt5安装步骤 =============================== -m PyQt5.uic.pyuic $FileName$ -o $FileNameWit ... 
- 史上最详细的Android Studio系列教程一--下载和安装
		链接地址:http://segmentfault.com/a/1190000002401964#articleHeader4 原文链接:http://stormzhang.com/devtools/2 ... 
- Python GUI编程--Tkinter
		今天看到了GUI编程,书上推荐用wxPython,去官网上看了看,发现Windows的最高支持到2.7,我用的是3.4版本,咋办,用自带的库--Tkinter呗,它是Python的默认GUI库,几乎是 ... 
- Python -- Gui编程 -- Tkinter的使用 -- 对话框消息框
		1.消息框 tkMessageBox.py import tkinter from tkinter import messagebox def cmd(): global n global butto ... 
随机推荐
- React Fragment All In One
			React Fragment All In One React还提供了一个无需包装即可呈现多个元素的组件. https://reactjs.org/docs/react-api.html#fragme ... 
- svg click event bug & css pointer-events
			svg click event bug & css pointer-events svg click event not working Error OK ??? css class /* d ... 
- C++算法代码——[TYVJ]单数?双数?
			题目来自:http://218.5.5.242:9018/JudgeOnline/problem.php?id=1178 题目描述 Bessie那惨无人道的二年级老师搞了一个有 N (1 < ... 
- 《Effective Java》总结
			导语 <Effective Java>是和<Thinking in java>齐名的java进阶书籍.作者参与了JDK标准库的编写工作,对于此书的学习,让我收获很多.好记性不如 ... 
- .NET 云原生架构师训练营(模块二 基础巩固 安全)--学习笔记
			2.8 安全 认证 VS 授权 ASP .NET Core 认证授权中间件 认证 JWT 认证 授权 认证 VS 授权 认证是一个识别用户是谁的过程 授权是一个决定用户可以干什么的过程 401 Una ... 
- 使用Mongodb设计评论系统
			1:如何设计数据存储结构 1.1:mysql 1:评论表 2:回复表(评论的评论) 1.2:mongodb 不需要两张表,一个collection 就可以搞定. 数据结构如图: 通过对象数组中的字段作 ... 
- Vue中Jsx的使用
			什么是JSX? JSX就是Javascript和XML结合的一种格式.React发明了JSX,利用HTML语法来创建虚拟DOM.当遇到<,JSX就当HTML解析,遇到{就当JavaScript解 ... 
- Java基础语法:注释
			书写注释是一个非常好的习惯. 注释并不会被执行,是给我们写代码的人看的. Java中的注释有三种: 单行注释(Line comment) 多行注释(Block comment) 文档注释(JavaDo ... 
- C#语言特性及发展史
			本文按照C#语言的发展历史,介绍C#每个版本的新增特性,主要参考微软官方文档.了解这些语言特性可以帮助我们更高效的编写C#代码. C# 1.0 与Visual Studio .NET 2002一起发布 ... 
- 代码安全性和健壮性:如何在if和assert中做选择?
			道哥的第 023 篇原创 目录 一.前言 二.assert 断言 assert 是一个宏,不是一个函数 三.if VS assert 1. 使用 if 语句来检查 2. 使用 assert 断言来检查 ... 
