Tkinter窗口的管理与设置
1. 基本属性设置
1. 添加标题
# 设置窗口标题
root.title("title")
2. 添加图标
# 设置图标,必须是以 .ico 为后缀的图标文件,放于同目录下。
root.iconbitmap("icon.ico")
提示
ico 图标必须是 ico 格式并且以 ico 结尾的图标。可以在百度搜索 ico 图标查找并且下载。
也可以在这里找: icons 图标
3. 设置背景
# 设置背景色,可以用英文名,也可以用十六进制表示的颜色。
root["background"] = "#00ffff"
4. 完整代码
# 导入模块,取别名
import tkinter as tk
# 实例化一个窗体对象
root = tk.Tk()
# 设置窗口的大小长宽为 300x300 出现的位置距离窗口左上角+150+150
root.geometry("300x300+150+150")
# 设置窗口标题
root.title("title")
# 设置图标,以 icon 图标为例,必须是以 .ico 格式的图标文件,放于同目录下。
root.iconbitmap("icon.ico")
# 设置背景色,可以用英文名,也可以用十六进制表示的颜色。
root["background"] = "#00ffff"
# 进入消息循环,显示窗口
root.mainloop()
2. 外形设置
1.设置透明度
# 透明度的值: 0~1 也可以是小数点,0:全透明;1:全不透明
root.attributes("-alpha", 0.6)
2.设置工具栏样式
# True 只有退出按钮,也没有图标;False 正常的窗体样式
root.attributes("-toolwindow", True)
3.设置全屏
# True 全屏;False 正常显示
root.attributes("-fullscreen", True)
4.窗口置顶
# True 所有窗口中处于最顶层;False 正常显示 两个同时被置顶的窗口为同级(能互相遮盖),但他们都能同时遮盖住没有被设置为置顶的窗口。
root.attributes("-topmost", True)
5.设置成脱离工具栏
# True 没有工具栏按钮;False 正常显示
root.overrideredirect(True)
6. 完整代码
# 导入模块,取别名
import tkinter as tk
# 实例化一个窗体对象
root = tk.Tk()
# 设置窗口的大小长宽为 300x300 出现的位置距离窗口左上角 +150+150
root.geometry("500x300+150+150")
# 设置窗口标题
root.title("title")
# 设置图标,以 OneDrive 图标为例,必须是以 .ico 为后缀的图标文件,放于同目录下。
root.iconbitmap("icon.ico")
# 设置背景色,可以用英文名,也可以用十六进制表示的颜色。
root["background"] = "#00ffff"
# 透明度的值: 0~1 也可以是小数点,0:全透明;1:全不透明
root.attributes("-alpha", 0.6)
# True 只有退出按钮,也没有图标;False 正常的窗体样式
# 会置于所有窗口的最底层 就是只在桌面的上面
root.attributes("-toolwindow", True)
# True 全屏;False 正常显示
# root.attributes("-fullscreen", True)
# True 所有窗口中处于最顶层;False 正常显示 两个同时被置顶的窗口为同级(能互相遮盖),
# 但他们都能同时遮盖住没有被设置为置顶的窗口。
# root.attributes("-topmost", True)
# True 没有工具栏按钮;False 正常显示
# root.overrideredirect(True)
root.mainloop()
3. 窗体的方法
1.获取屏幕大小
screenheight = root.winfo_screenheight()
screenwidth = root.winfo_screenwidth()
2.获取窗体位置
root_x = root.winfo_x()
root_y = root.winfo_y()
3.获取窗体大小
root_height = root.winfo_height()
root_width = root.winfo_width()
4. 完整代码
# 导入tkinter模块,用于创建GUI应用程序
import tkinter as tk
# 创建Tkinter的主窗口实例
root = tk.Tk()
# 设置窗口的标题为"屏幕和窗体信息"
root.title("屏幕和窗体信息")
# 设置窗口的大小为300x200像素,并将窗口的左上角定位在屏幕坐标(100,100)的位置
root.geometry('300x200+100+100')
# 强制立即更新窗口,应用几何管理器的设置,确保窗口大小和位置的设置立即生效
root.update()
# 获取屏幕和窗体的尺寸信息
screen_height = root.winfo_screenheight() # 获取屏幕的高度
screen_width = root.winfo_screenwidth() # 获取屏幕的宽度
root_x = root.winfo_x() # 获取窗体左上角的x坐标
root_y = root.winfo_y() # 获取窗体左上角的y坐标
root_height = root.winfo_height() # 获取窗体的高度
root_width = root.winfo_width() # 获取窗体的宽度
# 创建一个标签,设置其文本为屏幕和窗体的信息
label = tk.Label(root,
text=f'屏幕宽度: {screen_width} 屏幕高度:{screen_height}\n'
f'窗体宽度:{root_width} 窗体高度:{root_height}\n'
f'窗体位置:({root_x},{root_y})')
# 使用pack布局管理器将标签添加到主窗口中
label.pack()
# 启动Tkinter的主事件循环,等待用户交互,直到窗口被关闭
root.mainloop()