python tkinter geometry_超详细! Python Tkinter 学习笔记 01

本文详细解析了Python的tkinter模块,包括创建窗口、设置窗口属性、调整窗口大小和位置、添加标题、背景颜色、图标以及设置窗口最小化和最大化尺寸等。此外,还介绍了如何使用after()函数实现定时执行任务,如改变窗口背景色,并展示了如何隐藏窗口外部、固定窗口尺寸以及窗口置顶。最后,文章通过实例演示了如何在4秒后自动关闭窗口。
摘要由CSDN通过智能技术生成

全部的代码在这了

import tkinter as tk #导入模块 命名为 tk

# 创建窗口

window = tk.Tk()

# 调整窗口大小和位置,单位是像素

width, height = 500, 300

place_x, place_y = 100, 100 #位置以屏幕左上角为起始点(0,0)

window.geometry(f'{width}x{height}+{place_x}+{place_y}')

# 设置窗口标题

window.title('My window')

# 设置窗口背景颜色

window.config(bg='black')

# 窗口创建后一定时间执行程序

def config_() : #定义一个打印字符串 ‘Hello world’ 的函数

window.config(bg='white')

window.after(2000, config_) #第一个参数是时间,单位是毫秒;第二个参数是要执行的程序,注意,不用加括号

# 隐藏窗口外部

window.overrideredirect(True)

# 固定窗口尺寸

window.resizable(0, 0)

# 给窗口添加图标

icon = tk.PhotoImage(file = '/home/pi/Pictures/raspberry-pi-logo.png')

window.iconphoto(True, icon)

# 设置窗口最小|最大尺寸

window.minsize(150, 100) #最小尺寸

window.maxsize(500, 300) #最大尺寸

# 窗口创建4秒后关闭窗口

window.after(4000, window.destroy)

# 窗口全屏

window.attributes('-fullscreen', True)

# 窗口置顶

window.attributes('-topmost', True)

一大坨代码看不懂?

现在,我们来逐句解析:

import tkinter as tk #导入模块 命名为 tk

这句应该很明显了, import tkinter 导入 tkinter 模块, as tk 将模块命名为 tk,使用 tk 这个名字调用模块,当然其实任何名字,或者干脆不起名字,直接 from tkinter import * 都是可以的,随你喜好

# 创建窗口

window = tk.Tk()

这句很明显了,调用模块中的 Tk() 函数创建窗口,并将窗口赋值给变量 window。当然,你也可以直接使用 http://tk.Tk() 语句,不过后续就没法调用了

效果展示:

# 调整窗口大小和位置,单位是像素

width, height = 500, 300

place_x, place_y = 100, 100 #位置以屏幕左上角为起始点(0,0)

window.geometry(f'{width}x{height}+{place_x}+{place_y}')

这几行的重点在于 geometry() 这个函数,

你可以这样写:

# 生成一个300x200的窗口。注意,中间使用的是小写字母 x

window.geometry('300x200')

效果如下:

而后面加号中的表示窗口的坐标

window.geometry('300x200+100+0') #窗口坐标以屏幕左上角为起始点(0,0)

效果如下:

width, height = 500, 300

place_x, place_y = 100, 100

window.geometry(f'{width}x{height}+{place_x}+{place_y}')

# 设置窗口标题

window.title('My window')

设置窗口标题,效果如下:

# 设置窗口背景颜色

window.config(bg='black')

括号中使用 bg 和 background 都可以,颜色可以自己设置,效果如下:

# 窗口创建后一定时间执行程序

def config_() : #定义一个打印字符串 ‘Hello world’ 的函数

window.config(bg='white') #将窗口背景颜色设为白色

window.after(2000, config_) #第一个参数是时间,单位是毫秒;第二个参数是要执行的程序,注意,不用加括号

after() 函数的使用格式:window.after(time, function)

time 为窗口创建后等待的时间,单位为毫秒(2000毫秒 即 2秒)

function 可以是已经定义的函数(后面不能加括号),也可以是 lambda 表达式

效果:知乎视频​www.zhihu.com

# 隐藏窗口外部

window.overrideredirect(True)

这应该不用说什么,看效果图就懂了(括号中改为 False 的话和没加没区别)

# 固定窗口尺寸

window.resizable(0, 0)

# 或者也可以写成这样:

window.resizable(False, False)

这个也好理解,就是能让窗口固定尺寸

看效果图:

注意,图中窗口的最大化按键是灰的(不可用的)

# 给窗口添加图标

icon = tk.PhotoImage(file = '/home/pi/Pictures/raspberry-pi-logo.png')

window.iconphoto(True, icon)

注意这个 PhotoImage() 函数!!!这个函数可以输出一个 PhotoImage 对象,在 tkinter 中,要想在窗口中展示图片,就必须将图片转为 PhotoImage 对象才能使用

file = 后面加上要用图片的文件路径

效果如下:

# 设置窗口最小|最大尺寸

window.minsize(150, 100) #最小尺寸

window.maxsize(500, 300) #最大尺寸

很简单,在括号中加上想要的尺寸就行

下面是演示视频:知乎视频​www.zhihu.com

# 窗口创建4秒后关闭窗口

window.after(4000, window.destroy)

最后一个,destroy() 函数

在本程序中,执行 window.destroy() 函数会关闭窗口。但我们不能直接执行这个函数,会报错(之后会说) ,只能通过其他的函数来调用这个函数,而这里使用了刚讲过的 after() 函数

效果如下:知乎视频​www.zhihu.com

未完待续,不定期更新

tk.geometry是一个用于设置Tkinter窗口的大小和位置的方法。在引用[1]中的代码示例中,root.geometry('80x80 10 10')表示将窗口的大小设置为80x80像素,并将窗口的位置设置为位于屏幕的10x10像素处。这里的字符串参数中的x符号表示窗口大小的宽度和高度之间的分隔符。需要注意的是,geometry函数的参数风格应该是包含x符号的字符串。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Python Tkinter简单布局实例教程](https://download.csdn.net/download/weixin_38674115/13773281)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [tcl tk reference guide](https://download.csdn.net/download/sinat_29396591/10935783)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [tkinter窗口geometry函数的使用](https://blog.csdn.net/weixin_39945792/article/details/110543181)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值