Tk - Acara
Acara dalam bentuk yang paling sederhana ditangani dengan bantuan perintah. Contoh sederhana untuk penanganan event adalah penanganan event dengan tombol dan ditunjukkan di bawah ini -
#!/usr/bin/wish
proc myEvent { } {
puts "Event triggered"
}
pack [button .myButton1 -text "Button 1" -command myEvent]
Saat kita menjalankan program di atas, kita akan mendapatkan output berikut -
Sebuah program sederhana untuk menampilkan acara animasi teks tunda ditunjukkan di bawah ini -
#!/usr/bin/wish
proc delay {} {
for {set j 0} {$j < 100000} {incr j} {} } label .myLabel -text "Hello................" -width 25 pack .myLabel set str "Hello................" for {set i [string length $str]} {$i > -2} {set i [expr $i-1]} {
.myLabel configure -text [string range $str 0 $i]
update
delay
}
Saat kami menjalankan program, kami akan mendapatkan output berikut dengan cara animasi -
Acara demi acara penundaan
Sintaks untuk acara setelah penundaan ditampilkan di bawah ini -
after milliseconds number command
Sebuah program sederhana untuk ditampilkan setelah acara penundaan ditampilkan di bawah ini -
#!/usr/bin/wish
proc addText {} {
label .myLabel -text "Hello................" -width 25
pack .myLabel
}
after 1000 addText
Saat kami menjalankan program, kami akan mendapatkan output berikut setelah satu detik -
Anda dapat membatalkan acara menggunakan perintah setelah membatalkan seperti yang ditunjukkan di bawah ini -
#!/usr/bin/wish
proc addText {} {
label .myLabel -text "Hello................" -width 25
pack .myLabel
}
after 1000 addText
after cancel addText
Event Binding
Sintaks untuk event binding seperti yang ditunjukkan di bawah ini -
bind arguments
Contoh Acara Keyboard
#!/usr/bin/wish
bind . {puts "Key Pressed: %K "}
Ketika kami menjalankan program dan menekan huruf X, kami akan mendapatkan output berikut -
Key Pressed: X
Contoh Peristiwa Mouse
#!/usr/bin/wish
bind . {puts "Button %b Pressed : %x %y "}
Ketika kami menjalankan program dan menekan tombol kiri mouse, kami akan mendapatkan output yang mirip dengan berikut -
Button 1 Pressed : 89 90
Menghubungkan Acara dengan Contoh Tombol
#!/usr/bin/wish
proc myEvent { } {
puts "Event triggered"
}
pack [button .myButton1 -text "Button 1" -command myEvent]
bind . ".myButton1 invoke"
Saat kami menjalankan program dan menekan enter, kami akan mendapatkan output berikut -
Event triggered