Page 105 - Bilgisayar Bilimi Kur 1| 2. Bölüm
P. 105
Mevcut kodlama içinde tkinter paketinden ve tkinter.ttk paketinden ayrı sınıflar kullanılmaktadır.
“Tk” sınıfı bir grafik penceresi sunar.
root = Tk()
komutu “root” isimli bir Tk nesnesi oluşturur ve “root” nesnesi uygulamanın ana grafik penceresi ile
bağlantı kurar.
root.title("Trafik Işıkları")
pencerenin başlık çubuğundaki metni belirler.
root.mainloop()
“mainloop” yöntemini çağırarak grafik programı başlatır.
“Frame” sınıfı diğer grafik nesnelerini barındırmak için görünmeyen bir depo (widget) oluşturur.
frame = Frame(root)
komutu bir çerçeve nesnesi oluşturarak nesneyi grafik penceresi ile ilişkilendirir.
frame.pack()
komutu ise grafik penceresinin tamamını doldurur. “widget” görsel programlamada bir kütüphanedeki
grafik bileşenlere verilen isimdir.
“Canvas” sınıfı grafik pencere içinde bir çizim alanı oluşturur.
canvas = Canvas(frame, width=300, height=300)
komutu çerçevenin deposunda yer alan “canvas” isimli bir nesne oluşturur. “canvas” nesnelerinin boyut-
ları 300 px x 300 px olarak yükseklik ve genişlik anahtar kelimeleri ile belirlenir. Canvas üzerindeki ko-
ordinat sisteminin merkezi (0;0), pencerenin çizim alanının sol üst köşesinde yer alır ve y ekseni yukarı
değil aşağı doğru şekillenir. Diğer bir ifade ile, soldan sağa doğru x değeri arttıkça, y değeri yukarıdan
aşağıya doğru artmaktadır.
9.6. Nesne Değişkenliği ve Örtüşme
from fractions import Fraction
# Bazı kesir tanımlamaları yapılıyor
f1 = Fraction(1, 2)
f2 = Fraction(1, 2)
f3 = f1
# İlişkilendirmeler
print("f1 =", f1)
print("f2 =", f2)
print("f3 =", f3)
# Pay ve paydalar ayrı ayrı inceleniyor
print("f1--> Pay, Payda:", f1.numerator, f1.denominator)
print("f2--> Pay, Payda:", f2.numerator, f2.denominator)
print("f3--> Pay, Payda:", f3.numerator, f3.denominator)
# Kesirler karşılaştırılıyor
211