1. import tkinter as tk #导入tkinter模块并取别名为tk
  2. root = tk.Tk() #创建窗口
  3. root.mainloop() #进入消息循环(此代码通常放在最后)

0x002.额外属性:

0x002.1.title.标题:

  1. root.title("在此键入你的标题")

0x002.2.iconbitmap.程序左上角的图标:

  1. root.iconbitmap("在此键入你的图标的路径") #注:图标格式为.ico

0x002.3.[“background”].背景色:

  1. root["background"] = "#19CAAD" #输入HTML格式颜色或者颜色的英文

0x002.4.resizable.是否可以调整窗口大小:

  1. root.resizable(False, False) #x,y轴方向上都不能调整大小

0x002.5.attributes.窗口属性:

0x002.5.1.-topmost.窗口置顶:

  1. root.attributes("-topmost", True) #设置置顶

0x002.5.2.-alpha.窗口透明:

  1. root.attributes("-alpha", 0.8) #设置透明度为80%

0x002.5.3.-fullscreen.全屏:

  1. root.attributes("-fullscreen", True) #设置全屏

0x002.5.4.-toolwindow.工具栏样式(仅windows支持):

  1. root.attributes("-toolwindow", True) #设置为工具栏样式(左上角无图标,右上角只有一个小的关闭按钮。)

0x002.5.5.-zoomed.窗口最大化(仅linux支持):

  1. root.attributes("-zoomed", True) #设置窗口最大化

windows下可用state代替以实现相同效果:

  1. root.state("zoomed") #设置全屏

0x002.5.6.未列出属性(可自行查阅资料):

transparentcolor(仅windows),disable(仅windows),type(仅linux)
注:attributes可换成wm_attributes

0x002.6.after.定时执行程序:

  1. def print_hello:
  2. print("hello!")
  3. root.after(1000, print_hello) #在1000毫秒后,执行print_hello函数

该函数无法传参,传参可用lambda命令实现:

  1. root.after(1000, lambda:print("hello")) #在1000毫秒后,执行print_hello函数

如果想要在计时中途结束计时,可以使用after_cancel:

  1. print_hello = root.after(1000, lambda:print("hello")) #在1000毫秒后,执行print_hello函数
  2. root.after_cancel(print_hello) #在注册待执行函数后立刻结束,结果是无事发生

0x002.7.destroy.销毁:

  1. root.destroy() #销毁此窗口

0x002.8.bell.响铃:

  1. root.bell() #电脑会响一声提示音

0x002.9.bind.绑定:

0x002.9.1.用法示范:

  1. root.bind("<Button-1>", lambda:print("鼠标左键被按下!")) #前面是事件参数,后面是你想要与之绑定的函数

0x002.9.2.鼠标相关参数:

  1. '<Button-1>' #鼠标左键点击事件
  2. '<ButtonRelease-1>' #鼠标左键释放事件
  3. '<Button-2>' #鼠标中键点击事件
  4. '<ButtonRelease-2>' #鼠标中键释放事件
  5. '<Button-3>' #鼠标右键点击事件
  6. '<ButtonRelease-3>' #鼠标右键释放事件
  7. '<B1-Motion>' #鼠标左键按下并移动
  8. '<B2-Motion>' #鼠标中键按下并移动
  9. '<B3-Motion>' #鼠标右键按下并移动
  10. '<Enter>' #鼠标移入
  11. '<Leave>' #鼠标移出
  12. '<FocusIn>' #聚焦事件
  13. '<FocusOut>' #失焦事件

0x002.9.3.键盘相关参数:

  1. '<KeyPress-A>' #A键被按下,A可换成其他任意字母或数字
  2. '<Return>' #回车键被按下
  3. '<Shift A>' #shift和A键被按下,A可以换成任意字母或数字
  4. '<Num_Lock>' #Num Lock键被按下
  5. '<Control-A>' #Ctrl和A键被按下,A可以换成任意字母或数字

0x002.9.4.bind_all.全局绑定:

  1. root.bind_all("<KeyPress-A>", lambda:print("你按下了A键!")) #在任何地方按下A键都会执行print

0x002.9.5.unbind.解绑:

与此相关的还有bind_class和bindtags,可自行百度

0x002.10.cget.获取对象的属性:

  1. background = root.cget("bg") 获取root窗口的背景色

与下面语句等效:

  1. background = root["bg"]

不同的是后者还可以更改属性

  1. root["bg"] = "#000000" #设置背景纯黑
  2. #或者
  3. root.configure("bg", background)
  4. #再或者
  5. root.config("bg", background)

0x002.11.clipboard.粘贴板相关:

0x002.11.1.clipboard_get.获取粘贴板的内容(必须为字符串):

  1. paste = root.clipboard_get()

0x002.11.2.clipboard_append.在粘贴板内容后新增一个字符串:

  1. root.clipboard_append("粘贴板后新增了这个字符串")

0x002.11.3.clipboard_clear.清除粘贴板:

  1. root.clipboard_clear()

0x002.12.