Pada posting kali ini Niguru.com akan menjelaskan cara penggunaan sub function AFTER yang dapat digunakan untuk mengganti label secara otomatis dalam periode yang bisa diatur.
from Tkinter import *
layar=Tk();layar.title("TIMER DIGITAL")
layar.geometry("350x100")
Hasilnya saat dieksekusi, tampil sebuah window dengan ukuran 350pixel x 100pixel, dengan title "TIMER DIGITAL" tampil pada sisi atas frame window:
Berikutnya Niguru.com menambahkan label, dengan script berikut:
label01=Label(layar,font=("Tahoma",30,"bold"))
label01.pack();a=15;label01["text"]=a
Function LABEL mempunyai sub function yang bernama after yang memberikan fasilitas bagi programmer untuk mengganti label secara otomatis setelah waktu tertentu dengan sintaks:
nama_label.after(waktu,function)
dimana:
waktu dalam ms (millisecond)
Agar contoh penggunaan sub function after menjadi jelas Niguru.com akan membuatkan sebuah function yang mengganti teks yang tampil pada label. Berikut ini contohnya:
def gantiAngka():
a=14;label01["text"]=a
Function di atas akan mengganti label dengan angka "14" yang merupakan konten dari variabel a.
Selanjutnya Niguru.com akan menggunakan function untuk mencoba sub function after, contoh:
label01.after(2000,gantiAngka)
Dan berikut ini contoh program selengkapnya untuk dicoba:
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(2000,gantiAngka)
layar.mainloop()
Simpan dengan nama timerKu01.py (boleh disimpan dengan nama lain:
Bila program tersebut dieksekusi hasilnya akan tampil:
Dan 2 detik kemudian (=2000 ms kemudian), tampilan menjadi:
Niguru.com kemudian mengganti waktu menjadi 1000. Sehingga program menjadi:
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()
Bila dieksekusi maka tampilan akan tetap sama, hanya saja pergantian dari 15 ke 14 hanya 1 detik (=1000ms) saja.
Demikianlah penjelasan mengenai cara pemanfaatan sub function AFTER untuk membuat timer dengan tampilan GUI.
Penjelasan pada posting ini masih akan berlanjut pada posting berikutnya.
Selamat mencoba .. Have a nice day :-)
No comments:
Post a Comment