Page 210 - Bilgisayar Bilimi | Kur 1
P. 210
9.17. Buton Test Etme
Tk: Bu sınıf bir grafik pencereyi temsil eder.
root = Tk()
ifadesi “root” isimli bir nesne oluşturur. Bu nesne uygulamanın ana grafik penceresini ifade eder.
root.mainloop()
ifadesi pencerenin yanı sıra grafik programını başlatmak için “mainloop” metodunu çağırır. Bu metot,
hareket sürecini başlatarak kullanıcının görsel dönüt almasına olanak sağlar.
Button: Kullanıcının basabileceği bir grafik butonu temsil eden sınıftır. Bir buton, araç kitinin
sağladığı pek çok grafikten biridir.
b = Button(root)
ifadesi “b” isimli bir buton nesnesi oluşturur ve nesneyi “root” pencere ile ilişkilendirir.
b.configure(background=”yellow “, text=”Click Count = 0”,
command=update)
ifadesi, butonu sarı arka plan, metin rengi ve basıldığında gerçekleşecek işlem açısından konfigüre eder.
“Button” nesnesi ile yazı tipi ve rengi, sola ya da sağa hizalı yazma, yatay ya da dikey konumlama ve
çerçeve kalınlığı gibi seçenekleri de değiştirebiliriz.
b.pack()
ifadesi butonun pencerede görünür iyi bir noktada yer almasını sağlar.
b = Button(root, background =”yellow”, text=”Click Count
= 0”, command=update)
ifadesinde gerekli olan pencere parametresi ile birlikte (root) 3 tane parametrenin daha gönderildiğini
görüyoruz. Bu örnekte “count” değişkeni global olarak tanımlanmalıdır çünkü fonksiyonda tekrar ata-
ma yapılmaktadır. Ayrıca, “b” değişkeni de global olmalıdır.
9.18. Trafik Işıkları Örneği
from tkinter import Tk, Canvas
from tkinter.ttk import Button, Frame
def do _ button _ press():
global color
if color == ‘red’:
color = ‘green’
canvas.itemconfigure(red _ lamp, fill=’black’) # Turn red off
canvas.itemconfigure(green _ lamp, fill=’green’) # Turn green on
elif color == ‘green’:
color = ‘yellow’
canvas.itemconfigure(green _ lamp, fill=’black’) # Turn green off
canvas.itemconfigure(yellow _ lamp, fill=’yellow’) # Turn yellow on
elif color == ‘yellow’:
color = ‘red’
209