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的更多相关文章

  1. Tkinter系列教程01—引言和安装Tk—Python GUI编程

    目录 Tkinter教程系列01--引言和安装Tk 引言 什么是Tkinter 安装 Tk 为 Windows 安装 Tk 验证是否安装正确 为 GNU/Linux 安装 Tk 使用 Linux 的包 ...

  2. Tk 的基本概念-组件—Tkinter 教程系列03

    Tk 的基本概念-组件-Tkinter 教程系列03 前言 Tk 系列教程: Tkinter教程系列01--引言和安装Tk Tkinter教程系列02--第一个真正的 GUI 程序 通过上一节的程序实 ...

  3. 第一个真正的 GUI 程序——Tkinter教程系列02

    第一个真正的 GUI 程序--Tkinter教程系列02 前言 欢迎光临我的个人博客 chens.life Tk 系列教程: Tkinter教程系列01--引言和安装Tk 我们将编写一个英尺和米的转换 ...

  4. Node.js 教程 01 - 简介、安装及配置

    系列目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 0 ...

  5. 01 Flume系列(一)安装配置

    01 Flume系列(一)安装配置 Flume(http://flume.apache.org/) is a distributed, reliable, and available service ...

  6. 【全网最全的博客美化系列教程】01.添加Github项目链接

    全网最全的博客美化系列教程相关文章目录 [全网最全的博客美化系列教程]01.添加Github项目链接 [全网最全的博客美化系列教程]02.添加QQ交谈链接 [全网最全的博客美化系列教程]03.给博客添 ...

  7. kubernetes系列(十七) - 通过helm安装dashboard详细教程

    1. 前提条件 2. 配置https证书为secret 3. dashboard安装 3.1 helm拉取dashboard的chart 3.2 配置dashboard的chart包配置 3.3 he ...

  8. php从入门到放弃系列-01.php环境的搭建

    php从入门到放弃系列-01.php环境的搭建 一.为什么要学习php 1.php语言适用于中小型网站的快速开发: 2.并且有非常成熟的开源框架,例如yii,thinkphp等: 3.几乎全部的CMS ...

  9. Silverlight,Windows 8应用开发实例教程系列汇总

    Kevin Fan分享开发经验,记录开发点滴 Silverlight,Windows 8应用开发实例教程系列汇总 2012-06-18 01:05 by jv9, 2145 阅读, 3 评论, 收藏, ...

随机推荐

  1. js uppercase the first letter of string

    js uppercase the first letter of string js String.toUpperCase `-webkit-border-image`.split(`-`).filt ...

  2. MongoDB Manually config

    MongoDB Manually config macOS 10.15.x path error exception in initAndListen: NonExistentPath: Data d ...

  3. CSS3 Animation & linear-gradient & css3 var & @keyframes

    CSS3 Animation & linear-gradient & css3 var & @keyframes https://www.zhangxinxu.com/word ...

  4. 同步vscode的setting.json和extensions

    vc 详情 $ npm i -g vscode-config $ vc config --token <your github token> $ vc config --id <yo ...

  5. app启动速度怎么提升?

    简介: APP 启动速度的重要性不言而喻.高德地图是一个有着上亿用户的超级 APP,本文从唤端技术.H5 启动页.下载速度.APP加载.线程调度和任务编排等方面,详解相关技术原理和实现方案,分享高德在 ...

  6. C++算法代码——求数列[coci2014/2015 contest #1]

    题目来自:http://218.5.5.242:9018/JudgeOnline/problem.php?id=1815 题目描述 Mirko在数学课上以一种有趣的方式操作数列,首先,他写下一个数列A ...

  7. 关于string【】 数组 进行 toString() 之后无法将数组的内容连接起来组合成 string 字符串 的问题

    string[] to string 如果直接对一个string[] 数组进行 tostring()的操作,得到的值都是 system.string[] 如果想要将 string[] 数组内容转换为一 ...

  8. Mybatis-Plus插件配置

    yml配置 1 # Mybatis-Plus 2 mybatis-plus: 3 # 配置mapper的扫描,找到所有的mapper.xml映射文件 4 mapper-locations: com.x ...

  9. Docker的架构

    一.Docker引擎 docker引擎是一个c/s结构的应用,主要组件见下图: Server是一个常驻进程 REST API 实现了client和server间的交互协议 CLI 实现容器和镜像的管理 ...

  10. Centos7 升级 sqlite3

    下载地址:https://www.sqlite.org/download.html [root@djangoServer ~]# wget https://www.sqlite.org/2019/sq ...