全部的代码在这了
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
未完待续,不定期更新