00表格數據
import tkinter
from tkinter import ttkwin = tkinter.Tk()
win.title("Liuwang")
win.geometry("400x400+200+20")#表格
tree = ttk.Treeview(win)
tree.pack()
#列
tree["columns"] = ("姓名","年齡","身高","體重")
#設置列,列 還不顯示
tree.column("姓名",width= 100)
tree.column("年齡",width= 100)
tree.column("身高",width= 100)
tree.column("體重",width= 100)# 設置表頭
tree.heading("姓名",text = "姓名-name")
tree.heading("年齡",text = "年齡-age")
tree.heading("身高",text = "身高-height")
tree.heading("體重",text = "體重-weight")#添加數據
tree.insert("",0,text = "line1",values = ("001","21","183","70"))
tree.insert("",1,text = "line2",values = ("002","21","183","70"))win.mainloop()
01樹狀數據
import tkinter
from tkinter import ttk
win = tkinter.Tk()
win.title("Liuwang")
win.geometry("400x400+200+20")tree = ttk.Treeview(win)
tree.pack()#添加一級樹枝
treeF1 = tree.insert("",0,"中國",text = "China",values= ("F1"))
treeF2 = tree.insert("",1,"美國",text = "USA",values= ("F2"))
treeF3 = tree.insert("",2,"英國",text = "UK",values= ("F3"))#添加二級樹枝
treeF1_1 = tree.insert(treeF1,0,"黑龍江",text = "中國黑龍江",values=("F1_1"))
treeF1_2 = tree.insert(treeF1,1,"吉林",text = "中國吉林",values=("F1_2"))
treeF1_3 = tree.insert(treeF1,2,"遼寧",text = "中國遼寧",values=("F1_3"))treeF2_1 = tree.insert(treeF2,0,"德克薩斯州",text = "美國德克薩斯州",values=("F2_1"))
treeF2_2 = tree.insert(treeF2,1,"華盛頓",text = "美國華盛頓",values=("F2_2"))
treeF2_3 = tree.insert(treeF2,2,"洛杉磯",text = "美國洛杉磯",values=("F2_3"))#三級樹枝
treeF1_1_1 = tree.insert(treeF1_1,0,"哈爾濱",text = "黑龍江哈爾濱",values=("F1_1"))win.mainloop()
02絕對布局
import tkinterwin = tkinter.Tk()
win.title("Liuwang")
win.geometry("400x400+200+20")label1 = tkinter.Label(win,text = "good ",bg = "blue")
label2 = tkinter.Label(win,text = "nice ",bg = "red")
label3 = tkinter.Label(win,text = "cool ",bg = "black")#絕對布局,窗口的變化對位置沒有影響
label1.place(x= 10,y=10)
label2.place(x= 50,y=50)
label3.place(x= 100,y=100)win.mainloop()
03相對布局
import tkinterwin = tkinter.Tk()
win.title("Liuwang")
win.geometry("400x400+200+20")label1 = tkinter.Label(win,text = "good ",bg = "blue")
label2 = tkinter.Label(win,text = "nice ",bg = "red")
label3 = tkinter.Label(win,text = "cool ",bg = "black")
# tkinter.X \Y \BOTH
label1.pack(fill = tkinter.Y,side= tkinter.LEFT)
label2.pack(fill = tkinter.X,side= tkinter.TOP)
label3.pack()win.mainloop()表格布局!!!import tkinterwin = tkinter.Tk()
win.title("Liuwang")
win.geometry("400x400+200+20")label1 = tkinter.Label(win,text = "good ",bg = "blue")
label2 = tkinter.Label(win,text = "nice ",bg = "red")
label3 = tkinter.Label(win,text = "cool ",bg = "pink")
label4 = tkinter.Label(win,text = "handesome ",bg = "yellow")
#表格布局
label1.grid(row = 0 ,column =0)
label2.grid(row = 0 ,column =1)
label3.grid(row = 1 ,column =0)
label4.grid(row = 1 ,column =1)win.mainloop()
04鼠標點擊事件
import tkinterwin = tkinter.Tk()
win.title("Liuwang")
win.geometry("400x400+200+20")#鼠標左鍵<Button-1>
# 鼠標中鍵<Button-2>
# 鼠標右鍵<Button-3>
# 鼠標左鍵雙擊<Double-Button-1>
# 鼠標左鍵三擊<Triple-Button-1>def func(event):print(event.x,event.y)
button1= tkinter.Button(win,text="leftmouse button")
button1.bind("<Triple-Button-1>",func)button1.pack()win.mainloop()
?
05鼠標移動事件
import tkinterwin = tkinter.Tk()
win.title("Liuwang")
win.geometry("400x400+200+20")
#左鍵按住移動
label = tkinter.Label(win,text = "liuwang is handsome")
label.pack()
#綁定事件
def func(event):print(event.x,event.y)
label.bind("<B1-Motion>",func)win.mainloop()
06鼠標釋放事件
import tkinterwin = tkinter.Tk()
win.title("Liuwang")
win.geometry("400x400+200+20")#label.bind("<ButtonRelease-1>",func) 釋放鼠標左鍵
#label.bind("<ButtonRelease-2>",func) 釋放鼠標中鍵
#label.bind("<ButtonRelease-3",func) 釋放鼠標右鍵
label = tkinter.Label(win,text = "liuwang is handsome ",bg = "blue")
def func(event):print(event.x,event.y)
label.bind("<ButtonRelease-1>",func)
label.pack()win.mainloop()
07進入與離開事件
import tkinterwin = tkinter.Tk()
win.title("Liuwang")
win.geometry("400x400+200+20")
# 進入事件
#<Enter>鼠標光標進入空間是觸發
#<Leave>鼠標光標來開空間是觸發
label = tkinter.Label(win,text = "liuwang is handsome ",bg = "blue")
def func(event):print(event.x,event.y)
label.bind("<Enter>",func)
label.pack()win.mainloop()
?
08響應所有按鍵事件
import tkinterwin = tkinter.Tk()
win.title("Liuwang")
win.geometry("400x400+200+20")label = tkinter.Label(win,text = "liuwang is handsome ",bg = "blue")#設置焦點(鍵盤事件作用在焦點身上)
label.focus_set()
label.pack()def func(event):print("event.char = ",event.char)print("event.keycode = ", event.keycode)
label.bind("<Key>",func)
win.mainloop()
09響應特殊按鍵事件
?
import tkinterwin = tkinter.Tk()
win.title("Liuwang")
win.geometry("400x400+200+20")label = tkinter.Label(win,text = "liuwang is handsome ",bg = "blue")#設置焦點(鍵盤事件作用在焦點身上)
label.focus_set()
label.pack()# label.bind("<Shift_L>) 左側shift響應 ***下劃線
# label.bind("<Shift_L>)
# label.bind("<F5>)
# label.bind("<Return>") 回車
# <BackeSpcae>def func(event):print("event.char = ",event.char)print("event.keycode = ", event.keycode)
label.bind("<Shift_L>",func)
win.mainloop()
10指定按鍵事件
import tkinterwin = tkinter.Tk()
win.title("Liuwang")
win.geometry("400x400+200+20")def func(event):print("event.char = ",event.char)print("event.keycode = ", event.keycode)win.bind("a",func)win.mainloop()
11組合按鍵事件
import tkinterwin = tkinter.Tk()
win.title("Liuwang")
win.geometry("400x400+200+20")
#<Control-Alt-b> 組合按鍵
# <Control-Alt> 無法實現def func(event):print("event.char = ",event.char)print("event.keycode = ", event.keycode)win.bind("<Control-Alt-b>",func)win.mainloop()
?
?