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()
 
 
原文地址:https://www.cnblogs.com/myshuzhimei/p/11764437.html