上帝为你开了一扇窗之Tkinter常用函数详解


Posted in Python onJune 02, 2021

第一步:导入模块,无需安装

import tkinter

第二步:实现一个窗口

import tkinter
tk=tkinter.Tk()
tk.mainloop()

 上帝为你开了一扇窗之Tkinter常用函数详解

这样,我们应该基本的gui窗口就搞定了。接下来,我们给它加点东西,让它看起来更加独特。

第三步:修改窗口名称

tk.title("窗口")

上帝为你开了一扇窗之Tkinter常用函数详解

第四步:设置窗口大小

tk.geometry("300x150+700+300")

参数:width x height+x+y,

分别对应,窗口 宽,高,以及窗口出现的坐标,

桌面的坐标系:以桌面左上角为(0,0)向右为x轴正半轴,向下为y轴正半轴

设置固定大小:

tk.minsize(560, 545) # 最小尺寸
 
tk.maxsize(560, 545) # 最大尺寸

设置全屏模式:

tk.attributes("-fullscreen", True)#全屏模式:True 全屏;False 正常显示
注:全屏模式没有退出按钮,关闭可使用win+D最小化才能关闭

上帝为你开了一扇窗之Tkinter常用函数详解

第五步:获取当前桌面的尺寸

有时候我们需要获取到当前屏幕的大小,来决定我们窗口的大小,那就需要获取当前屏幕的宽高,如何获取呢?

w = tk.winfo_screenwidth()#获取屏幕宽
h = tk.winfo_screenheight()#获取屏幕高

上帝为你开了一扇窗之Tkinter常用函数详解

第六步:设置窗口图标

tk.iconbitmap('favicon.ico')#设置窗口图标,将ico放在同级目录下。

上帝为你开了一扇窗之Tkinter常用函数详解

第七步:设置窗口背景颜色

tk["background"] ="#7AC5CD"# 采用16色,或者"blue",颜色名称

上帝为你开了一扇窗之Tkinter常用函数详解

这里,我为大家准备一个网站,供大家选择颜色。

https://tool.oschina.net/commons?type=3

上帝为你开了一扇窗之Tkinter常用函数详解

第八步:设置窗口透明度

tk.attributes("-alpha", 0.6)#设置窗口透明度,透明度的值是:0~1 可以是小数点,0:全透明;1:全不透明

上帝为你开了一扇窗之Tkinter常用函数详解

第九步:设置顶部工具栏样式

tk.attributes("-toolwindow", True)#有退出,可以移动

工具样式:True 只有退出按钮,也没有图标; False 正常的窗体样式

上帝为你开了一扇窗之Tkinter常用函数详解

如果要将退出按钮都隐藏呢?

tk.overrideredirect(True)#无退出,不能移动,无工具栏

第十步:设置窗口置顶

tk.attributes("-topmost", True)
窗体置顶:True 所有窗口中处于最顶层;False 正常显示

使用场景,比如:桌面便签,需要显示在最顶层,又不妨碍其他软件使用。

上帝为你开了一扇窗之Tkinter常用函数详解

第十一步:获取tk窗体信息

# 获取屏幕的大小;
height = tk.winfo_height()
width = tk.winfo_width()
# 获取窗体的位置
x = tk.winfo_x()
y = tk.winfo_y()
通常结合.update()使用,获取窗口改变之后的数据。
我们可以用bind来记录。
tk.bind("", update_test)#绑定事件
def update_test(e):
    tk.update()
    # 获取屏幕的大小;
    height = tk.winfo_height()
    width = tk.winfo_width()
    # 获取窗体的位置
    x = tk.winfo_x()
    y = tk.winfo_y()
    print(width, height, x, y)
tk.bind("", update_test)

第十二步:添加标签

tkinter.Label(tk,text='标签1(0,0)').grid(column=0,row=0)#column表示x,row表示y
那如何来理解这个参数呢?
grid中参数,依然可以把他看做是x,y,当两个标签中间没有数据时,就会自然缩进。
如图2,其中没有2,所以就会自动将2省去。
如图三中,坐标就是确定这些小方格。设置标签样式:
tkinter.Label(tk,text='标签1(0,0)',background='red',font=30,).grid(column=0,row=0)#x,y
tkinter.Label(tk,text='标签1(1,1)',foreground='red').grid(column=1,row=1)#x,y
background='red'#标签背景颜色
font=30#字体大小
foreground='red'#字体颜色

第十三步:调用事件

button=Button(tk, text="事件调用", fg="blue",bd=2,width=8,command=update_test).grid(column=1,row=5)

每点击一次,就调用对应的函数。

上帝为你开了一扇窗之Tkinter常用函数详解

第十四步:插入图片

photo = tkinter.PhotoImage(file="图片.png")#file:t图片路径
imgLabel = tkinter.Label(tk,image=photo).grid(column=1,row=6)#把图片整合到标签类中

 上帝为你开了一扇窗之Tkinter常用函数详解

完整代码

import tkinter
from tkinter import *
tk=tkinter.Tk()
tk.title("窗口")#设置窗口名称
tk.geometry("300x150+700+300")
"""width x height+x+y,分别对应,窗口 宽,高,以及窗口出现的坐标
    桌面的坐标系:以桌面左上角为(0,0)向右为x轴正半轴,向下为y轴正半轴"""
w = tk.winfo_screenwidth()#获取屏幕宽
h = tk.winfo_screenheight()#获取屏幕高
print(w,h)
tk.iconbitmap('favicon.ico')#设置窗口图标,将ico放在同级目录下。
# 设置背景色,以“蓝色”为例
tk["background"] ="#7AC5CD"# "blue"
tk.attributes("-alpha",1)#设置窗口透明度,透明度的值是:0~1 可以是小数点,0:全透明;1:全不透明
tk.attributes("-toolwindow", True)#有退出,可以移动,工具样式:True 只有退出按钮,也没有图标; False 正常的窗体样式
#tk.overrideredirect(True)#无退出,不能移动,无工具栏
#tk.attributes("-fullscreen", True)#全屏模式:True 全屏;False 正常显示
tk.attributes("-topmost", True)#窗体置顶:True 所有窗口中处于最顶层;False 正常显示
# 获取屏幕的大小;
height = tk.winfo_height()
width = tk.winfo_width()
# 获取窗体的位置
x = tk.winfo_x()
y = tk.winfo_y()
print(width,height,x,y)
def update_test():
    tk.update()
    # 获取屏幕的大小;
    height = tk.winfo_height()
    width = tk.winfo_width()
    # 获取窗体的位置
    x = tk.winfo_x()
    y = tk.winfo_y()
    print(width, height, x, y)
# tk.bind("<Configure>", update_test)#绑定事件,窗体的改变事件
tkinter.Label(tk,text='标签1(0,0)',background='red',font=30,).grid(column=0,row=0)#x,y,设置标签,grid设置位置
tkinter.Label(tk,text='标签1(1,1)',foreground='red').grid(column=1,row=1)#x,y
tkinter.Label(tk,text='标签2').grid(column=4,row=3)
tkinter.Label(tk,text='标签3').grid(column=3,row=4)
 
button=Button(tk, text="事件调用", fg="blue",bd=2,width=8,command=update_test).grid(column=1,row=5)#按钮,添加按钮事件
 
photo = tkinter.PhotoImage(file="Figure_1.png")#file:t图片路径
imgLabel = tkinter.Label(tk,image=photo).grid(column=1,row=6)#把图片整合到标签类中
tk.mainloop()

到此这篇关于上帝给你开了一个窗口之Tkinter常用函数详解的文章就介绍到这了,更多相关Tkinter常用函数内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python改变日志(logging)存放位置的示例
Mar 27 Python
Python查找函数f(x)=0根的解决方法
May 07 Python
介绍Python中的fabs()方法的使用
May 14 Python
python3 与python2 异常处理的区别与联系
Jun 19 Python
CentOS 7下安装Python 3.5并与Python2.7兼容并存详解
Jul 07 Python
对python指数、幂数拟合curve_fit详解
Dec 29 Python
python实现Excel文件转换为TXT文件
Apr 28 Python
python 梯度法求解函数极值的实例
Jul 10 Python
Python使用type动态创建类操作示例
Feb 29 Python
Python实时监控网站浏览记录实现过程详解
Jul 14 Python
解决python3中os.popen()出错的问题
Nov 19 Python
使paramiko库执行命令时在给定的时间强制退出功能的实现
Mar 03 Python
只用20行Python代码实现屏幕录制功能
TensorFlow中tf.batch_matmul()的用法
Jun 02 #Python
pytorch 运行一段时间后出现GPU OOM的问题
Jun 02 #Python
python flask开发的简单基金查询工具
python爬取网页版QQ空间,生成各类图表
Python爬虫实战之爬取携程评论
Pytorch DataLoader shuffle验证方式
You might like
详解php的魔术方法__get()和__set()使用介绍
2012/09/19 PHP
浅析php与数据库代码开发规范
2013/08/08 PHP
windows7下安装php的imagick和imagemagick扩展教程
2014/07/04 PHP
PHP PDO数据库操作预处理与注意事项
2019/03/16 PHP
在phpstudy集成环境下的nginx服务器下配置url重写
2019/12/02 PHP
jQuery写的日历(包括日历的样式及功能)
2013/04/23 Javascript
jQuery实现字符串按指定长度加入特定内容的方法
2015/03/11 Javascript
不用一句js代码初始化组件
2016/01/27 Javascript
url中的特殊符号有什么含义(推荐)
2016/06/17 Javascript
javascript 中的console.log和弹出窗口alert
2016/08/30 Javascript
NodeJS和BootStrap分页效果的实现代码
2016/11/07 NodeJs
javascript中href和replace的比较(详解)
2016/11/25 Javascript
解决拦截器对ajax请求的拦截实例详解
2016/12/21 Javascript
微信浏览器禁止页面下拉查看网址实例详解
2017/06/28 Javascript
mui back 返回刷新页面的实例
2017/12/06 Javascript
vue双向数据绑定知识点总结
2018/04/18 Javascript
详解vue中点击空白处隐藏div的实现(用指令实现)
2018/04/19 Javascript
原生JS实现动态添加新元素、删除元素方法
2019/05/05 Javascript
vue 实现移动端键盘搜索事件监听
2019/11/06 Javascript
[01:37]DOTA2超级联赛专访ChuaN 传奇般的电竞之路
2013/06/19 DOTA
[02:40]DOTA2英雄基础教程 炼金术士
2013/12/23 DOTA
python函数参数*args**kwargs用法实例
2013/12/04 Python
python中循环语句while用法实例
2015/05/16 Python
python 利用for循环 保存多个图像或者文件的实例
2018/11/09 Python
Python实现的调用C语言函数功能简单实例
2019/03/13 Python
Django模型序列化返回自然主键值示例代码
2019/06/12 Python
给ubuntu18安装python3.7的详细教程
2020/06/08 Python
Python在后台自动解压各种压缩文件的实现方法
2020/11/10 Python
法国隐形眼镜网站:VisionDirect.fr
2020/03/03 全球购物
专业毕业生个性的自我评价
2013/10/03 职场文书
英语老师推荐信
2014/02/26 职场文书
社区领导班子四风问题原因分析及整改措施
2014/09/28 职场文书
四风问题查摆剖析材料
2014/10/11 职场文书
综治工作汇报材料
2014/10/27 职场文书
教师党员承诺书2015
2015/01/21 职场文书
2015年城管个人工作总结
2015/05/15 职场文书