Page 149 - E-Modul Coding For Kids Berbasis Raspberry Pi
P. 149
Ini versi singkatnya canvasclick itu akan memungkinkan Anda memastikan bahwa klik
mouse terdeteksi dengan benar. Letakkan di bawah dapatkan pet aberfungsi sebagai
berikut:
def canvasclick(event):
print "Mouse click at position", event.x, event.y
Saat Anda menjalankan program ini, sepasang angka akan muncul di shell setiap kali Anda
mengklik sebuah kartu. Angka-angka ini berubah tergantung di mana Anda mengklik peta.
Namun, yang sebenarnya kami inginkan adalah dapat menggambar penanda pada peta
untuk menyorot tempat-tempat menarik. Mengganti printline dengan kode berikut akan
menggambar lingkaran di setiap lokasi yang diklik pada peta.
x,y = event.x, event.y
widget = event.widget
size = 10
widget.create_oval(x-size, y-size, x+size, y+size, width=2)
Kami akan menggunakan event.x dan event.y beberapa kali, jadi di sini kami
memberi mereka nama yang lebih sesuai x dan y. Kami telah melakukan hal yang sama
untuk event.widget (widget yang menerima acara klik mouse ini), memberinya nama
yang lebih sesuai widget. Itu size variabel menyimpan jarak, dalam piksel, dari posisi
klik ke tepi lingkaran.
Anda dapat mengubahnya jika Anda mau. Terakhir, gambar lingkaran menggunakan
widget.create_oval. Empat argumen pertama adalah koordinat tepi kiri, atas, kanan,
dan bawah lingkaran, dan lebar adalah lebar garis yang digunakan untuk menggambar
lingkaran. Anda dapat menambahkan argumen tambahan. Misalnya, tentukan
"outline="red" untuk mengubah warna garis, atau "fill="blue" untuk mengubah
warna bagian dalam. Saya sangat menyukai argumen activeoutline dan
activefill. Cara kerjanya sama, namun warnanya hanya muncul saat mouse berada di
atas penanda. Bereksperimenlah hingga Anda menemukan desain penanda yang Anda
sukai.
138