python中winfo_geometry用法_tkinter学习系列(二)之窗口的设置

本文详细介绍了Tkinter库在Python中创建GUI窗体的基础与高级设置,包括设置窗体大小、位置、标题、图标、背景色、透明度、工具栏样式、全屏模式、置顶及脱离工具栏等。通过实例代码展示了如何实现这些功能,并提供了获取屏幕、窗体大小及位置的方法。这对于理解Tkinter窗体操作和个性化定制GUI应用非常有帮助。
摘要由CSDN通过智能技术生成

目录:

1.窗体的最小框架

2.窗体的基本设置

3.窗体的外形设置

(一)窗体的最小框架

1.说明:

需要导入标准库:

import tkinter

2.源代码:

# 导入模块,并取别名

import tkinter as tk

# 实例化一个窗体对象

win = tk.Tk()

# 设置窗体的大小(300x300),与出现的位置距离窗体左上角(+150+150)

win.geometry("300x300+150+150")

# 进入消息循环,显示窗体

win.mainloop()

3.实现效果:

7e28234788fc48b47b5222c8322b4d2a.png

(二)窗体的基本设置

1.说明:

(1)添加标题:

# 设置标题

win.title("标题")

(2)添加图标:

图标:必须是以 .ico 为后缀的图标文件,放于同目录下。

# 设置图标,以QQ头为例

win.iconbitmap("app.ico")

(3)添加背景:

颜色:可以用英文名,也可以用RGU,十六进制表示的颜色。

# 设置背景色,以“蓝色”为例

win["background"] = "blue"

2.完整代码:

# 导入模块,并去别名

import tkinter as tk

# 实例化一个窗体对象

win = tk.Tk()

# 设置窗体的大小(300x300),与出现的位置距离窗体左上角(+150+150)

win.geometry("300x300+150+150")

# 设置标题

win.title("标题")

# 设置图标,以QQ头为例

win.iconbitmap("app.ico")

# 设置背景色,以“蓝色”为例

win["background"] = "blue"

# 进入消息循环,显示窗体

win.mainloop()

3.实现效果:

83e23617227cab6811a16cde3a208a18.png

(三)窗体的外形设置

1.说明:

(1)设置透明度:

透明度的值是:0~1 可以是小数点,0:全透明;1:全不透明

win.attributes("-alpha", 0.6)

(2)设置工具栏样式:

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

win.attributes("-toolwindow", True)

透明度与工具栏的效果图:

1119915ba95d3439dc79d296c70a5cfa.png

(3)设置全屏:

全屏模式:True 全屏;False 正常显示

win.attributes("-fullscreen", True)

(4)设置窗体置顶

窗体置顶:True 所有窗口中处于最顶层;False 正常显示

win.attributes("-topmost", True)

(5)设置成脱离工具栏

脱离工具栏:True 没有工具栏按钮;False 正常显示

win.overrideredirect(True)

脱离工具栏的效果图:

e2876e09e6e6a33f7ba5171a616fe699.png

2.完整代码:

# 导入模块,并去别名

import tkinter as tk

# 实例化一个窗体对象

win = tk.Tk()

# 设置窗体的大小(300x300),与出现的位置距离窗体左上角(+150+150)

win.geometry("300x300+150+150")

# 设置标题

win.title("标题")

# 设置图标,以QQ头为例

win.iconbitmap("app.ico")

# 设置背景色,以“蓝色”为例

win["background"] = "blue"

# 设置透明度

win.attributes("-alpha", 0.6)

# 设置窗口为工具样式:

win.attributes("-toolwindow", True)

# # 设置全屏:

win.attributes("-fullscreen", False)

# 设置窗体置顶

win.attributes("-topmost", True)

# 设置成脱离工具栏

win.overrideredirect(False)

# 进入消息循环,显示窗体

win.mainloop()

3.实现效果:

d8b39d7001046c93bb19e47ae38e2a1a.png

(四)窗体的三个方法:

1.获取屏幕的大小

(1)语法说明:

# 获取屏幕的大小;

screen_height = root.winfo_screenheight()

screen_width = root.winfo_screenwidth()

(2)源代码:

import tkinter as tk

root = tk.Tk()

# 获取屏幕的大小;

screen_height = root.winfo_screenheight()

screen_width = root.winfo_screenwidth()

print("你电脑的屏幕的高度是:", screen_height)

print("你电脑的屏幕的宽度度是:", screen_width)

root.mainloop()

(3)输出结果:

8b8a81c6740ec8c840eb77cb916a3cb8.png

2.获取窗体的大小

(1)语法说明:

# 获取屏幕的大小;

win_height = root.winfo_height()

win_width = root.winfo_width()

需要注意的是:要用root.update()方法,才能看到更新后的数值

(2)源代码:

import tkinter as tk

root = tk.Tk()

root.geometry("600x500")

# 更新窗体

root.update()

# 获取屏幕的大小;

win_height = root.winfo_height()

win_width = root.winfo_width()

print("控件的高度是:", win_height)

print("控件的宽度度是:", win_width)

root.mainloop()

(3)输出结果:

9f7dbead2d4db7065a3f723f4a532e89.png

3.获取窗体的位置

(1)语法说明:

# 获取窗体的位置

win_x = win.winfo_x()

win_y = win.winfo_y()

(2)源代码:

import tkinter as tk

win = tk.Tk()

win.geometry("600x500")

def change(event):

win.update()

# 获取窗体的位置

win_x = win.winfo_x()

win_y = win.winfo_y()

print(win_x)

print(win_y)

# 绑定事件,窗体的改变事件

win.bind("", change)

win.mainloop()

(3)输出结果:

当我用鼠标拖动窗体时,更新了一系列的位置数值

a840ea30541ac0ffe49c6ac778c19dbb.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值