1、tkinter系列4
(1)
from tkinter import *
root=Tk()
e=Entry(root)
e.pack(padx=20,pady=20)
mainloop()
(2)添加
e.delete(0,END)
e.insert(0,“魏。。是傻吊!!”)
(3)
from tkinter import *
root=Tk()
Label(root,text=“可可愛愛:”).grid(row=0,column=0)
Label(root,text=“開開心心:”).grid(row=1,column=0)
e1=Entry(root)
e2=Entry(root)
e1.grid(row=0,column=1,padx=10,pady=5)
e2.grid(row=1,column=1,padx=10,pady=5)
def show():
print(“可可愛愛:《%s》” % e1.get())
print(“可可:%s” % e2.get())
Button(root,text=“獲取信息”,width=10,command=show)
.grid(row=3,column=0,sticky=W,padx=10,pady=5)
Button(root,text=“退出”,width=10,command=root.quit)
.grid(row=3,column=1,sticky=E,padx=10,pady=5)
mainloop()
(4)添加修改部分
from tkinter import *
root=Tk()
Label(root,text=“賬號:”).grid(row=0,column=0)
Label(root,text=“密碼:”).grid(row=1,column=0)
v1=StringVar()
v2=StringVar()
e1=Entry(root,textvariable=v1)
e2=Entry(root,textvariable=v2,show=“¥”)
e1.grid(row=0,column=1,padx=10,pady=5)
e2.grid(row=1,column=1,padx=10,pady=5)
def show():
print(“賬號:%s” % e1.get())
print(“密碼:%s” % e2.get())
Button(root,text=“芝麻開門”,width=10,command=show)
.grid(row=3,column=0,sticky=W,padx=10,pady=5)
Button(root,text=“退出”,width=10,command=root.quit)
.grid(row=3,column=1,sticky=E,padx=10,pady=5)
mainloop()
(5)拓展1
from tkinter import *
master=Tk()
def test():
if e1.get()==“小魚兒”:
print(“正確!”)
return True
else:
print(“錯誤!”)
e1.delete(0,END)
return False
v=StringVar()
e1=Entry(master,textvariable=v,validate=“focusout”,validatecommand=test)
e2=Entry(master)
e1.pack(padx=10,pady=10)
e2.pack(padx=10,pady=10)
mainloop()
(6)拓展2 validatecommand與invalidcommand的使用關係
from tkinter import *
master=Tk()
v=StringVar()
def test1():
if v.get()==“小魚兒”:
print(“正確!”)
return True
else:
print(“錯誤!”)
e1.delete(0,END)
return False
def test2():
print(“我被調用了…”)
return True
e1=Entry(master,textvariable=v,validate=“focusout”,
validatecommand=test1,invalidcommand=test2)
e2=Entry(master)
e1.pack(padx=10,pady=10)
e2.pack(padx=10,pady=10)
mainloop()
(7)拓展:
from tkinter import *
master=Tk()
v=StringVar()
def test(content,reason,name):
if content==“小魚兒”:
print(“正確!”)
print(content,reason,name)
return True
else:
print(“錯誤!”)
print(content, reason, name)
return False
testCMD=master.register(test)
e1=Entry(master,textvariable=v,validate=“focusout”,
validatecommand=(testCMD,’%P’,’%V’,’%W’))
e2=Entry(master)
e1.pack(padx=10,pady=10)
e2.pack(padx=10,pady=10)
mainloop()
(8)拓展
from tkinter import *
master=Tk()
frame=Frame(master)
frame.pack(padx=10,pady=10)
v1=StringVar()
v2=StringVar()
v3=StringVar()
def test(content):
return content.isdigit()
testCMD=master.register(test)
e1=Entry(frame,width=10,textvariable=v1,validate=“key”,
validatecommand=(testCMD,’%P’)).grid(row=0,column=0)
Label(frame,text="+").grid(row=0,column=1)
e2=Entry(frame,width=10,textvariable=v2,validate=“key”,
validatecommand=(testCMD,’%P’)).grid(row=0,column=2)
Label(frame,text="=").grid(row=0,column=3)
e3=Entry(frame,textvariable=v3,state=“readonly”).grid(row=0,column=4)
def calc():
result=int(v1.get())+int(v2.get())
v3.set(str(result))
Button(frame,text=“計算結果”,command=calc).grid(row=1,column=2)
mainloop()