超全!Tkinter 使用教程!4000字!
人生苦短,快学Python!
本期案例是带着大家制作一个属于自己的GUI图形化界面—>用于设计签名的哦(效果如下图),是不是感觉很好玩,是不是很想学习呢?限于篇幅,今天我们首先详细讲述一下Tkinter
的使用方法。本来不准备详细讲述这个基础知识,但是我怕那些想学习的同学,学起来不过瘾,还是补充了这一章。
tkinter的简单应用
Tkinter
是Python的标准GUI库。Python使用Tkinter可以快速地创建GUI应用程序。当然常用的GUI库还有PyQt5
,我们只需要知道这两个常用的即可,如果你真的想学习的话。由于Tkinter
属于Python标准库,就不需要使用pip安装,直接导入使用即可。
① 显示窗口
root.mainloop()
显示窗口;窗口默认会显示在电脑屏幕的左上角,非常小(后面需要改进);
from tkinter import *
from tkinter import messagebox# 创建窗口:实例化一个窗口对象。
root = Tk()# 显示窗口
root.mainloop()
"""
注意到:该窗口默认的显示位置在哪里,观察我下面的截图。
窗口默认显示在整个电脑屏幕的左上角,并且窗口大小特别小。
"""
结果如下:
注意:上面2行代码,首先实例化一个窗口对象,然后我们展示了这个窗口,让其真正显示出来。接下来我们的操作,就是针对这个窗口的一系列优化操作,请注意:这个优化操作使用的代码,都是放在这2句代码中间。
② 设置窗口大小
root.geometry("600x400")
调整窗口的大小;该方法中传入的是"宽x高",但是需要注意这个乘号是小写的英文字母x,而不是这个*表示的乘号;
from tkinter import *
from tkinter import messagebox# 创建窗口:实例化一个窗口对象。
root = Tk()# 窗口大小
root.geometry("600x450")# 显示窗口
root.mainloop()
结果如下:
③ 调整窗口位置(使用的是同一个方法)
root.geometry("600x400+374+182")
调整窗口的大小+位置;374,182表示的是窗口顶点,距离电脑左上角的坐标。这个数字怎么得到的呢?直接借助微信截图就可以显示了。
操作代码如下:
from tkinter import *
from tkinter import messagebox# 创建窗口:实例化一个窗口对象。
root = Tk()# 窗口大小
root.geometry("600x450+374+182")# 显示窗口
root.mainloop()
结果如下:
④ 设置窗口的标题
root.title()
设置窗口的标题;默认的窗口标题是tk;
from tkinter import *
from tkinter import messagebox# 创建窗口:实例化一个窗口对象。
root = Tk()# 窗口大小
root.geometry("600x450+374+182")# 窗口标题
root.title("我的个性签名设计")# 显示窗口
root.mainloop()
结果如下:
⑤ 添加标签控件,并定位
Label(root,text="签名")
添加标签控件第一个参数传入的就是实例化的那个root窗口对象;第二个参数传入的要显示的那个标签文本;
仅仅添加标签控件后,还不行,必须要指定一个位置后,该标签控件才会真正展示出来,即最后需要调用grid()方法后,才会显示标签控件;
from tkinter import *
from tkinter import messagebox# 创建窗口:实例化一个窗口对象。
root = Tk()# 窗口大小
root.geometry("600x450+374+182")# 窗口标题
root.title("我的个性签名设计")# 添加标签控件
label = Label(root)
# 定位
label.grid()# 显示窗口
root.mainloop()
结果如下:
当然你也可以想到,这个方法肯定还可以修改字体样式、字体大小、字体颜色呀?具体怎么操作呢?我们接着往下面看。
from tkinter import *
from tkinter import messagebox# 创建窗口:实例化一个窗口对象。
root = Tk()# 窗口大小
root.geometry("600x450+374+182")# 窗口标题
root.title("我的个性签名设计")# 添加标签控件
label = Label(root,text="签名",font=("宋体",25),fg="red")
"""
text参数用于指定显示的文本;
font参数用于指定字体大小和字体样式;
fg参数用于指定字体颜色;
"""
# 定位
label.grid()# 显示窗口
root.mainloop()
结果如下:
⑥ 添加输入框,并定位
Entry(root,font=("宋体",25),fg="red")
添加输入框第一个参数传入的就是实例化的那个root窗口对象;第二个参数可写可不写,指的是我们输入的字体的字体样式和字体大小;第三个参数同样可写可不写,表示的是我们输入的字体的颜色。
同样,仅仅使用上述代码并不会显示输入框,只有调用grid()方法,定位后,才会真正显示这个输入框;
from tkinter import *
from tkinter import messagebox# 创建窗口:实例化一个窗口对象。
root = Tk()# 窗口大小
root.geometry("600x450+374+182")# 窗口标题
root.title("我的个性签名设计")# 添加标签控件
label = Label(root,text="签名",font=("宋体",25),fg="red")
# 定位
label.grid()# 添加输入框
entry = Entry(root,font=("宋体",25),fg="red")
entry.grid()# 显示窗口
root.mainloop()
结果如下:
注意:很明显这样的摆放方式,并不是我们想要的。我们需要调整一下,下面我们专门花一个小节时间,去讲述怎么调整这个摆放位置。
⑦ 调整控件的摆放位置
首先我们需要搞明白,显示窗口究竟采用的是什么样子的布局方式呢?其实是网格式的布局方式。那么什么又是网格式的布局方式呢?excel表格你知道吧,一个个的格子就是网格式的布局方式。
好了!知道了上述原理后,我们现在来真正的调整这个控件摆放位置啦。
from tkinter import *
from tkinter import messagebox# 创建窗口:实例化一个窗口对象。
root = Tk()# 窗口大小
root.geometry("600x450+374+182")# 窗口标题
root.title("我的个性签名设计")# 添加标签控件
label = Label(root,text="签名:",font=("宋体",25),fg="red")
# 定位
label.grid()
"""
label.grid()等价于label.grid(row=0,column=0)
"""
# 添加输入框
entry = Entry(root,font=("宋体",25),fg="red")
entry.grid(row=0,column=1)
"""
row=0,column=1表示我们将输入框控件,放在第1行第2列的位置;
python语言中,这个下标是从0开始的。
"""
# 显示窗口
root.mainloop()
结果如下:
⑧ 添加点击按钮
Button(root,text="签名设计",font=("宋体",25),fg="red")
添加输入框第一个参数传入的就是实例化的那个root窗口对象;第二个参数展示的是我们这个点击按钮的标签;第三个参数可写可不写,指的是点击按钮字体的字体样式和字体大小;第四个参数同样可写可不写,表示的是点击按钮字体的颜色。
同样,仅仅使用上述代码并不会显示输入框,只有调用grid()方法,定位后,才会真正显示这个点击按钮;
from tkinter import *
from tkinter import messagebox# 创建窗口:实例化一个窗口对象。
root = Tk()# 窗口大小
root.geometry("600x450+374+182")# 窗口标题
root.title("我的个性签名设计")# 添加标签控件
label = Label(root,text="签名:",font=("宋体",25),fg="red")
# 定位
label.grid()# 添加输入框
entry = Entry(root,font=("宋体",25),fg="red")
entry.grid(row=0,column=1)# 添加点击按钮
button = Button(root,text="签名设计",font=("宋体",25),fg="blue")
button.grid(row=1,column=1)# 显示窗口
root.mainloop()
结果如下:
至此界面已经简单搭建起来了,接下来要做的就是输入一个名字,点击签名设计后,会显示我的这个签名,此时就需要借助爬虫啦!明天我们将会发布该文的下篇哦,敬请期待。
⑨ 点击按钮自定义功能
这里最后补充这个知识点,我们点击按钮后,总是希望能够给我们返回点什么,所以呢,需要我们自定义函数
。
from tkinter import *
from tkinter import messageboxdef func():print("我是黄同学")# 创建窗口:实例化一个窗口对象。
root = Tk()# 窗口大小
root.geometry("600x450+374+182")# 窗口标题
root.title("我的个性签名设计")# 添加标签控件
label = Label(root,text="签名:",font=("宋体",25),fg="red")
# 定位
label.grid()# 添加输入框
entry = Entry(root,font=("宋体",25),fg="red")
entry.grid(row=0,column=1)# 添加点击按钮
button = Button(root,text="签名设计",font=("宋体",25),fg="blue",command=func)
button.grid(row=1,column=1)
"""
command=func表示调用最开始定义的func函数。
func函数一定要在这句代码之前,因为这里需要调用这个func函数。
"""
# 显示窗口
root.mainloop()
结果如下:
这是我开发的机器人公众号小号,目前增加了天气查询,955公司名单,关注时间查询;后面还会增加图片功能和每日送书抽奖送书活动,以及调戏功能,欢迎来体验,捧场。
推荐阅读:
入门: 最全的零基础学Python的问题 | 零基础学了8个月的Python | 实战项目 |学Python就是这条捷径
干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 | 从万众期待到口碑扑街!唐探3令人失望 | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影
趣味:弹球游戏 | 九宫格 | 漂亮的花 | 两百行Python《天天酷跑》游戏!
AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影
小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!| 再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|
年度爆款文案
1).卧槽!Pdf转Word用Python轻松搞定!
2).学Python真香!我用100行代码做了个网站,帮人PS旅行图片,赚个鸡腿吃
3).首播过亿,火爆全网,我分析了《乘风破浪的姐姐》,发现了这些秘密
4).80行代码!用Python做一个哆来A梦分身
5).你必须掌握的20个python代码,短小精悍,用处无穷
6).30个Python奇淫技巧集
7).我总结的80页《菜鸟学Python精选干货.pdf》,都是干货
8).再见Python!我要学Go了!2500字深度分析!
9).发现一个舔狗福利!这个Python爬虫神器太爽了,自动下载妹子图片
点阅读原文,看B站我的视频!
超全!Tkinter 使用教程!4000字!相关推荐
- 超全面的freemarker教程
转载:http://demojava.iteye.com/blog/800204 以下内容全部是网上收集: FreeMarker的模板文件并不比HTML页面复杂多少,FreeMarker模板文件主要由 ...
- 【pipenv】 快速入门,超全面的pipenv教程!(教你如何快速创建python虚拟环境!)
文章目录 一.pipenv的快速入门 0.快速上手 1.安装 2.卸载 3.跟新包 4.首次运行 5.删除虚拟环境 6.与虚拟环境相关的常用命令 (0)展示环境中已安装的包 (1)包的安装 (2)包的 ...
- 用计算机做图画ppt,ppt怎么做?手机电脑超全PPT制作教程_教你做出完整的PPT
核心提示:小编整理了两块内容,一个是教大家怎么制作电脑版的PPT,一个是教大家怎么制作手机版的PPT,喜欢的朋友们可以看一下噢! 电脑版PPT制作方法步骤 1.打开"PPT"软件, ...
- Office2016超全安装包+教程+素材包
好资源要懂得分享,分享才能发挥它的价值!!! 链接:https://pan.baidu.com/s/1a2KtdQISCCR79MiI-V7S9w 密码:xr52 拿走,不谢!!!
- 超全 ES6 语法教程
目录 一.let定义变量与const定义常量 二.模版字符串 三.数组的变量的解构赋值 四.对象的变量的解构赋值 五.箭头函数 六.展开运算符 七.函数参数的扩展 八.class类 九.对象的扩展 十 ...
- 全字库说文解字字体_整理了10款免费商用中文字体,超好用
文章来源:logo设计视觉(ID:logoshijue) 字体不能随便用!大家应该经常有听到字体侵权索赔上几十上百万事吧!作为小小的设计师遇上了就倒霉啦!所以,我们要有足够版权意识,没事囤点免费可商用 ...
- 【超全教程】SpringBoot 2.3.x 分层构建 Docker 镜像实践
作者:超级小豆丁 http://www.mydlq.club/article/98/ 目录 什么是镜像分层 SpringBoot 2.3.x 新增对分层的支持 创建测试的 SpringBoot 应用 ...
- 如何提取明细表头_超全!197页建筑工程预算实例教程+241页预算明细表,造价轻松算...
对于一名优秀的造价人来说,算好建筑工程预算是做造价的第一步!也是至关重要的一个环节! 面对大量的图纸信息如何快速提取内容? 如何牢记定额,轻松算量? 怎么能够做到预算最低偏差? 那么这些就是考验造价员 ...
- cad计算机中怎么用除号,CAD中特殊符号如何输入?超全教程,一看就懂!
原标题:CAD中特殊符号如何输入?超全教程,一看就懂! CAD制图不同行业有不同的设计符号,但是你知道哪些特殊的符号要怎么输入呢?一旦入门CAD设计,你必须要熟悉了解这些符号输入操作. 本文会和大家分 ...
- fiddler超全使用教程
知识永远学不完,但多懂一点知识就会让生活更轻松一点! 又是元气满满的一天呐 fiddler超全使用教程 首先进行HTTP协议配置-设置代理前提 (web代理服务器中IE浏览器默认代理为:127.0.0 ...
最新文章
- 阅读笔记 CCL: Cross-modal Correlation Learning with Multi-grained Fusion by Hierarchical Network
- 什么是RDF resource Description framework
- 前端最佳实践之可维护性
- rhel6下组建两台主机的HA集群
- 灯塔的出现给那些有想法,有能力而又缺乏资金的社区人士提供了一条途径
- ROS 学习笔记(一):工作空间+功能包创建
- dj电商-模型类设计-商品模块数据表
- JavaSE的输入流、输出流
- Java 中如何实现保留两位小数 — DecimalFormat
- (C/C++) Link List - C 語言版本
- 练习题2 -和可被 K 整除的子数组
- 研究生英语写译教程(提高级/第三版)_翻译篇 笔记及答案
- 家里可以装网吧无盘服务器吗,我在家里想装个网吧系统,求好的网吧系统。请专业的来个连接我...
- 智能家居雷声越来越大 雨点还是那么小
- 解决steam饥荒联机版(DST Dont Starve Together)启动时error during initialization的方法
- 如何在VR全景中嵌入AI数字人功能?打造云端体验感
- Python_pygame库学习笔记(1):pygame的由来,特点以及模块简介
- 创新与赛道定义 ——产品定义和建立赛道是个技术活
- 一个基于Python数据大屏可视化开源项目
- 如何使用计算机网络打印机,如何共享网络打印机 共享网络打印机教程详解
热门文章
- mysql 日期查询 今天、明天、本周、七天内、本月、后一个月
- html表格填充空白单元格,快速填充空白单元格【应对步骤】
- 图解对称加密与非对称加密
- python弹出框多一个空白框_python – 自定义/删除Django选择框空白选项
- vue3+ts实现todolist功能
- Win7(x64) + Cygwin + ns2.35 安装配置教程
- 计算机系大一开学需要带什么,大一新生上学要不要带电脑?辅导员给出建议,家长可以参考...
- php图片输出特殊符号,php输出特殊符号
- u深度制作linux启动盘制作工具,u深度u盘启动盘制作工具教程
- 记一次Linux文件系统引发的项目启动错误(war包没有问题只有指定目录启动报错)