Pada posting kali ini Niguru.com akan melanjutkan penjelasan mengenai after dengan sedikit memodifikasi program timerKu01.py yang sudah dijelaskan pada posting sebelumnya menjadi DOWN TIMER (= timer penghitung mundur).
Berikut ini script dari timerKu.py:
def gantiAngka():
a=14;label01["text"]=a
#-----------------------------------------------
from Tkinter import *
layar=Tk();layar.title("TIMER DIGITAL")
layar.geometry("350x100")
label01=Label(layar,font=("Tahoma",30,"bold"))
label01.pack();a=15;label01["text"]=a
label01.after(1000,gantiAngka)
layar.mainloop()
Niguru.com memindahkan instruksi penulisan teks pada label menjadi function dengan nama " timerKu":
def timerKu():
label01["text"]=a;label01.after(1000,gantiAngka)
Setelah pergantian maka program menjadi:
def gantiAngka():
a=14;label01["text"]=a
def timerKu():
label01["text"]=a;label01.after(1000,gantiAngka)
#---------------------------------------------------
from Tkinter import *
layar=Tk();layar.title("TIMER DIGITAL")
layar.geometry("350x100")
label01=Label(layar,font=("Tahoma",30,"bold"))
label01.pack();a=15;timerKu()
layar.mainloop()
Saat dieksekusi hasilnya sama:
Niguru.com kemudian mengganti variabel "a" lokal dengan variabel "a" global. Agar pengolahan pada function gantiAngka bisa berpengaruh pada function lainnya.
Function " gantiAngka" menjadi:
def gantiAngka():
global a;a-=1
label01["text"]=a
Saat dieksekusi hasilnya sama:
Sekali lagi Niguru.com mengganti function " gantiAngka" menjadi:
def gantiAngka():
global a;a-=1
if a>=0:timerKu()
else:label01["text"]="Selesai :-)"
Program selengkapnya adalah:
def gantiAngka():
global a;a-=1
if a>=0:timerKu()
else:label01["text"]="Selesai :-)"
def timerKu():
label01["text"]=a;label01.after(1000,gantiAngka)
#-----------------------------------------------------
from Tkinter import *
layar=Tk();layar.title("TIMER DIGITAL")
layar.geometry("350x100")
label01=Label(layar,font=("Tahoma",30,"bold"))
label01.pack();a=15;timerKu()
layar.mainloop()
Hasilnya adalah down timer (= timer yang menghitung mundur) setiap detik. Tampil angka 15 sebagai awal, hitung mundur sampai 0, dan diakhiri dengan tulisan Selesai :-).
Demikianlah penjelasan mengenai cara pemanfaatan sub function AFTER untuk membuat timer dengan tampilan GUI.
Selamat mencoba .. Have a nice day :-)
No comments:
Post a Comment