Tkinter之Button部件

簡單理解,和Label比就是多了個 command=函數名。command表示這個按鈕按下去後對應的執行內容。沒有回調函數的按鈕是沒有用的。
 
注意:
def printhello()必定要放在command調用以前,不然會認爲未定義該函數。
def printhello()函數無參數時,點擊按鈕後纔會執行函數裏的print命令;有參數時,不點擊按鈕也會執行。
 
 
示例1
import Tkinter as tk
window=tk.Tk()
window.title('MYTkinter')
window.geometry('400x400')
 
def printsth(i):
    if i==1:
       print ('i==1時點擊按鈕1的解釋說明')
    else:
       print ('i<>1時點擊按鈕1的解釋說明')
j=2   
b=tk.Button(window,text='按鈕1',font=('Arial',12),width=10,height=10,command=printsth(j))
b.pack()
 
window.mainloop()
 
 
 
示例2(示例1的基礎上擴展)
import Tkinter as tk
window=tk.Tk()
window.title('MYTkinter')
window.geometry('400x400')
 
var=tk.StringVar()
l=tk.Label(window,textvariable=var,bg='yellow',font=('Arial', 12), width=30, height=3)
l.pack()
 
def varvalue(i):
    if i==1:
       var.set('i==1時點擊按鈕1的解釋說明')
    else:
       var.set('i<>1時點擊按鈕1的解釋說明')
 
j=2   
b=tk.Button(window,text='按鈕1',font=('Arial',12),width=10,height=10,command=varvalue(j))
b.pack()
 
window.mainloop()
 
 
 
 
示例3(示例2的基礎上擴展)
import Tkinter as tk
window=tk.Tk()
window.title('MYTkinter')
window.geometry('400x400')
 
var=tk.StringVar()
l=tk.Label(window,textvariable=var,bg='yellow',font=('Arial', 12), width=30, height=3)
l.pack()
 
on_hit = False
def hit_me():
    global on_hit
    if on_hit == False:
       on_hit = True
       var.set('you hit me')
    else:
       on_hit = False
       var.set('')
 
b=tk.Button(window,text='按鈕1',font=('Arial',12),width=10,height=10,command=hit_me)
b.pack()
 
window.mainloop()
相關文章
相關標籤/搜索