Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Entry/Entry的Command)

导读
动态演示调用python库的tkinter带你进入GUI世界(Entry/Entry的Command)

 

 

目录

tkinter应用案例—Entry/Entry的Command

1、tkinter应用案例:利用输入框Entry组件实现将输入的书名和作者名输出到命令框

2、tkinter应用案例:利用输入框Entry组件实现回答问题,正确才会自动切换到下个Entry框

3、tkinter应用案例:利用输入框Entry组件实现回答问题,正确才会自动切换到下个Entry框

4、tkinter应用案例:利用输入框Entry组件实现回答问题,正确触发事件A,输入错误触发事件B

5、tkinter应用案例:利用输入框Entry组件实现回答问题,只有输入错误打印出三个参数


 

 

 

tkinter应用案例—Entry/Entry的Command

1、tkinter应用案例:利用输入框Entry组件实现将输入的书名和作者名输出到命令框

Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Entry/Entry的Command)_python教程

#tkinter应用案例:利用输入框Entry组件实现将输入的书名和作者名输出到命令框
  
from tkinter import *
 
root=Tk() 
root.title("Jason niu工作室")
 
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 (u"作品:《%s》" % e1.get())  
    print (u"作者:%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()

 

2、tkinter应用案例:利用输入框Entry组件实现回答问题,正确才会自动切换到下个Entry框

 Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Entry/Entry的Command)_python教程_02

#tkinter应用案例:利用输入框Entry组件实现回答问题,正确才会自动切换到下个Entry框
 
from tkinter import *
 
master = Tk()
master.title("Jason niu工作室")
theLabel=tk.Label(master,text="进入GUI世界,请开始你的表演!\n请问我们是什么工作室?\n(输入正确才能自动切换到下一行)")  
theLabel.pack() 
 
def test():
    if e1.get()=="Jason niu工作室":
        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()

 

3、tkinter应用案例:利用输入框Entry组件实现回答问题,正确才会自动切换到下个Entry框

Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Entry/Entry的Command)_python开发_03

#tkinter应用案例:利用输入框Entry组件实现回答问题,正确才会自动切换到下个Entry框
 
from tkinter import *
 
master = Tk()
master.title("Jason niu工作室")
theLabel=tk.Label(master,text="进入GUI世界,请开始你的表演!\n请问我们是什么工作室?\n(输入正确才能自动切换到下一行)")  
theLabel.pack() 
 
def test():
    if e1.get()=="Jason niu工作室":
        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()

 

4、tkinter应用案例:利用输入框Entry组件实现回答问题,正确触发事件A,输入错误触发事件B

Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Entry/Entry的Command)_python教程_04

#tkinter应用案例:利用输入框Entry组件实现回答问题,正确触发事件A,输入错误触发事件B
from tkinter import *
 
master = Tk()
master.title("Jason niu工作室")
theLabel=tk.Label(master,text="进入GUI世界,请开始你的表演!\n请问我们是什么工作室?\n(输入正确触发事件A,输入错误触发事件B)")  
theLabel.pack() 
 
v = StringVar()  
 
def test1():
    if v.get()=="Jason niu工作室":
        print ("正确!")
        return True
    else:
        print ("错误!")
        e1.delete(0,END)
        return False
 
def test2():
    print ("我是事件B,因为你回答错误所以我被执行。。。")
    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()

 

5、tkinter应用案例:利用输入框Entry组件实现回答问题,只有输入错误打印出三个参数

Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Entry/Entry的Command)_python教程_05

#tkinter应用案例:利用输入框Entry组件实现回答问题,只有输入错误打印出三个参数
from tkinter import *
 
master = Tk()
master.title("Jason niu工作室")
theLabel=tk.Label(master,text="进入GUI世界,请开始你的表演!\n请问我们是什么工作室?\n(输入正确直接显示,输入错误打印出三个参数)")  
theLabel.pack() 
 
v = StringVar()  
 
def test(content,reason,name):
    if content=="Jason niu工作室":
        print ("正确!")
        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()