import tkinter as tk #导入tkinter模块并取别名为tk
root = tk.Tk() #创建窗口
root.mainloop() #进入消息循环(此代码通常放在最后)
0x002.额外属性:
0x002.1.title.标题:
root.title("在此键入你的标题")
0x002.2.iconbitmap.程序左上角的图标:
root.iconbitmap("在此键入你的图标的路径") #注:图标格式为.ico
0x002.3.[“background”].背景色:
root["background"] = "#19CAAD" #输入HTML格式颜色或者颜色的英文
0x002.4.resizable.是否可以调整窗口大小:
root.resizable(False, False) #x,y轴方向上都不能调整大小
0x002.5.attributes.窗口属性:
0x002.5.1.-topmost.窗口置顶:
root.attributes("-topmost", True) #设置置顶
0x002.5.2.-alpha.窗口透明:
root.attributes("-alpha", 0.8) #设置透明度为80%
0x002.5.3.-fullscreen.全屏:
root.attributes("-fullscreen", True) #设置全屏
0x002.5.4.-toolwindow.工具栏样式(仅windows支持):
root.attributes("-toolwindow", True) #设置为工具栏样式(左上角无图标,右上角只有一个小的关闭按钮。)
0x002.5.5.-zoomed.窗口最大化(仅linux支持):
root.attributes("-zoomed", True) #设置窗口最大化
windows下可用state代替以实现相同效果:
root.state("zoomed") #设置全屏
0x002.5.6.未列出属性(可自行查阅资料):
transparentcolor(仅windows),disable(仅windows),type(仅linux)
注:attributes可换成wm_attributes
0x002.6.after.定时执行程序:
def print_hello:
print("hello!")
root.after(1000, print_hello) #在1000毫秒后,执行print_hello函数
该函数无法传参,传参可用lambda命令实现:
root.after(1000, lambda:print("hello")) #在1000毫秒后,执行print_hello函数
如果想要在计时中途结束计时,可以使用after_cancel:
print_hello = root.after(1000, lambda:print("hello")) #在1000毫秒后,执行print_hello函数
root.after_cancel(print_hello) #在注册待执行函数后立刻结束,结果是无事发生
0x002.7.destroy.销毁:
root.destroy() #销毁此窗口
0x002.8.bell.响铃:
root.bell() #电脑会响一声提示音
0x002.9.bind.绑定:
0x002.9.1.用法示范:
root.bind("<Button-1>", lambda:print("鼠标左键被按下!")) #前面是事件参数,后面是你想要与之绑定的函数
0x002.9.2.鼠标相关参数:
'<Button-1>' #鼠标左键点击事件
'<ButtonRelease-1>' #鼠标左键释放事件
'<Button-2>' #鼠标中键点击事件
'<ButtonRelease-2>' #鼠标中键释放事件
'<Button-3>' #鼠标右键点击事件
'<ButtonRelease-3>' #鼠标右键释放事件
'<B1-Motion>' #鼠标左键按下并移动
'<B2-Motion>' #鼠标中键按下并移动
'<B3-Motion>' #鼠标右键按下并移动
'<Enter>' #鼠标移入
'<Leave>' #鼠标移出
'<FocusIn>' #聚焦事件
'<FocusOut>' #失焦事件
0x002.9.3.键盘相关参数:
'<KeyPress-A>' #A键被按下,A可换成其他任意字母或数字
'<Return>' #回车键被按下
'<Shift A>' #shift和A键被按下,A可以换成任意字母或数字
'<Num_Lock>' #Num Lock键被按下
'<Control-A>' #Ctrl和A键被按下,A可以换成任意字母或数字
0x002.9.4.bind_all.全局绑定:
root.bind_all("<KeyPress-A>", lambda:print("你按下了A键!")) #在任何地方按下A键都会执行print
0x002.9.5.unbind.解绑:
与此相关的还有bind_class和bindtags,可自行百度
0x002.10.cget.获取对象的属性:
background = root.cget("bg") 获取root窗口的背景色
与下面语句等效:
background = root["bg"]
不同的是后者还可以更改属性
root["bg"] = "#000000" #设置背景纯黑
#或者
root.configure("bg", background)
#再或者
root.config("bg", background)
0x002.11.clipboard.粘贴板相关:
0x002.11.1.clipboard_get.获取粘贴板的内容(必须为字符串):
paste = root.clipboard_get()
0x002.11.2.clipboard_append.在粘贴板内容后新增一个字符串:
root.clipboard_append("粘贴板后新增了这个字符串")
0x002.11.3.clipboard_clear.清除粘贴板:
root.clipboard_clear()