Prosedurnya adalah seperti berikut:
import tkinter as tk
window = tk.Tk()
window.title("我的程序")
window.geometry('400x300')
var = tk.StringVar()
lable = tk.Label(window,textvariable = var,font = (('微软雅黑'),12))
lable.pack()
on_hit = True
def run():
global on_hit
if on_hit == True:
on_hit = False
var.set('you hit me')
else:
on_hit = True
var.set('')
button = tk.Button(window,text = 'hit',font = (('微软雅黑'),12),command = run)
button.pack()
window.mainloop()
Kesan program ini ialah terdapat butang apabila anda menekannya, anda menekan saya akan muncul dan ia akan hilang = 'Jana soalan dan jawapan',font = (('Microsoft Yahei'),12), arahan = run()), tambah tanda kurung semasa memanggil fungsi dan tekan butang sekali lagi, ia akan sentiasa mengatakan anda tekan saya, dan kandungan dalam label di atas tidak akan berubah lagi?
Dalam ayat ini, simpan sahaja butang dengan fungsi run itu sendiri dan ia akan dipanggil secara automatik selepas butang itu diklik (bersamaan dengan berjalan selepas klik ).
Jurubahasa akan memanggilrun()
Jika ditukar kepadaserta-merta apabila ia melihat ayat ini, dan kemudian menyimpan nilai pulangan
run()
panggilan ke butang Sekarang nilai pulangan dipanggil selepas butang diklik (Tiada dalam contoh ini).arahan boleh dipanggil dalam dua cara:
b = Butang(... arahan = butang)
b = Butang(... arahan = lambda: butang('hai'))
Jika anda ingin menggunakan () untuk memanggil, anda boleh menggunakan lambda untuk menulis:
button = tk.Button(window, text = 'Jana soalan dan jawapan', font = (('Microsoft Yahei'),12), arahan =lambda: lari())