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()
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM