Modül grafik
Classes(Sınıflar)
class Canvas (width=754, height=492)
-
Canvas, grafiksel objelerle işlem yapmayı kolaylaştırmak için Python'ın thinkter kütüphanesindeki Canvas objesi üzerine kurulmuş basitleştirilmiş bir arayüzdür. Canvas grafiksel objeleri yaratmak, modifiye etmek ve silmek için çeşitli fonksiyonlara sahiptir. Ayrıca kendisi ve üzerinde barındırdığı grafiksel objeler hakkında bilgi almamızı sağlayan fonksiyonları da mevcuttur. Canvas 'thinkter.Canvas' ın bir alt sınıfı olduğu için, gerektiğinde thinkter fonksiyonları da Canvas'tan erişilebilir.
Canvas yaratırken, opsiyonel olarak genişlik ve uzunluğunu belirtilebilir. Eğer genişlik ve uzunluk bilgisi sağlanmazsa canvas varsayılan boyutlarda yaratılır.
Args
width
- yaratılacak Canvas'ın genişliği (eğer belirtilmemişse,
Canvas.DEFAULT_WIDTH
yani varsayılan genişlik kullanılır) height
- yaratılacak Canvas'ın uzunluğu (eğer belirtilmemişse,
Canvas.DEFAULT_HEIGHT
yani varsayılan uzunluk kullanılır)
Ancestors
- tkinter.Canvas
- tkinter.Widget
- tkinter.BaseWidget
- tkinter.Misc
- tkinter.Pack
- tkinter.Place
- tkinter.Grid
- tkinter.XView
- tkinter.YView
Class variables
var BOTTOM
-
Canvas'ın farklı bölgelerine etkileşim araçları eklemeyi sağlayan yönler. BOTTOM pencerenin alt tarafı için kullanılır.
var COLORS
-
CanvasColors canvasda kullanabileceğimiz tüm renkleri içeren bir enum sınıfıdır.
var DEFAULT_HEIGHT
-
Canvas'ın varsayılan uzunluğu 492 pixeldir.
var DEFAULT_TITLE
-
Varsayılan olarak Canvas penceresi açıldığında başlık kısmında 'Canvas' başlığı gösterilir.
var DEFAULT_WIDTH
-
Canvas'ın varsayılan genişliği 754 pixeldir.
var LEFT
-
Canvas'ın farklı bölgelerine etkileşim araçları eklemeyi sağlayan yönler. LEFT pencerenin sol tarafı için kullanılır.
var RIGHT
-
Canvas'ın farklı bölgelerine etkileşim araçları eklemeyi sağlayan yönler. RIGHT pencerenin sağ tarafı için kullanılır.
var TOP
-
Canvas'ın farklı bölgelerine etkileşim araçları eklememizi sağlayan yönler. LEFT pencerenin sol tarafı için kullanılır.
Methods
-
Canvas'a verilen başlıkla belirtilen lokasyona bir buton ekler. Butonlar canvas'ın üst ve alt kısımlarında soldan sağa, sol ve sağ kısımlarında üstten alta eklenir.
Args
title
- buton üzerinde gösterilecek başlık. Diğer buton isimleri içerisinde benzersiz olmalıdır.
location
- canvas üzerinde butonu eklemek istediğimiz bölge (Canvas.TOP/LEFT/BOTTOM/RIGHT)
kwargs
- diğer thinkter keyword argümanları
Returns
belirtilen pozisyona eklenen butona ait bir referans
def create_image(self, x, y, file_path, **kwargs)
-
Belirtilen dosyadan, canvas'ta belirtilen pozisyonda bir resim yaratır. Resmin boyutu yüklenen resim dosyası ile aynı olacaktır.
Args
x
- canvas üzerinde resmin sol köşesini yerleştirmek istediğiniz pozisyonun x koordinatı
y
- canvas üzerinde resmin sol köşesini yerleştirmek istediğiniz pozisyonun y koordinatı
file_path
- canvasa eklemek istediğiniz resim dosyasının yerini belirten path stringi
kwargs
- diğer thinkter keyword argümanları
Returns
verilen resmi belirtilen pozisyonda gösteren grafiksel resim objesi.
def create_image_with_size(self, x, y, width, height, file_path, **kwargs)
-
Belirtilen dosyayı kullanarak, canvas'ta verilen pozisyonda verilen genişlik ve uzunlukta bir resim yaratır.
Args
x
- canvas üzerinde resmin sol köşesini yerleştirmek istediğiniz pozisyonun x koordinatı
y
- canvas üzerinde resmin sol köşesini yerleştirmek istediğiniz pozisyonun y koordinatı
file_path
- canvasa eklemek istediğiniz resim dosyasının yerini belirten path stringi
width
- resmin olmasını istediğiniz genişliği
height
- resmin olmasını istediğiniz uzunluğu
kwargs
- diğer thinkter keyword argümanları
Returns
verilen resmi belirtilen pozisyonda verilen boyutlarda gösteren grafiksel resim objesi.
def create_line(self, x1, y1, x2, y2, *args, **kwargs)
-
Canvas'ta verilen bir noktayla diğer bir nokta arasında çizgi grafiksel objesi yaratır ve döndürür. Çizgi siyah anahatla çizilir.
Args
x1
- çizginin başlangıç noktasının x koordinatı
y1
- çizginin başlangıç noktasının y koordinatı
x2
- çizginin bitiş noktasının x koordinatı
y2
- çizginin bitiş noktasının y koordinatı
args
- opsiyonel olarak çizgideki veya şekildeki herhangi bir noktanın koordinatlarını belirtebilirsiniz.
kwargs
- diğer thinkter keyword argümanları
Returns
verilen iki nokta arasında çizilmiş grafiksel çizgi objesi
def create_oval(self, x1, y1, x2, y2, **kwargs)
-
Canvas'ta sol üst köşesi verilen ilk koordinatta, sağ alt köşesi de verilen ikinci koordinatta yer alan sınırlayıcı kutu içerisine sığan en büyük oval grafik objesini yaratır ve döndürür. Oval canvasa içi boş bir şekilde siyah bir anahatla çizdirilir.
Args
x1
- sınırlayıcı kutunun sol üst köşesinin x koordinatı
y1
- sınırlayıcı kutunun sol üst köşesinin y koordinatı
x2
- sınırlayıcı kutunun sağ alt köşesinin x koordinatı
y2
- sınırlayıcı kutunun sağ alt köşesinin y koordinatı
kwargs
- diğer thinkter keyword argümanları
Returns
verilen pozisyona çizilmiş grafiksel oval objesi
def create_rectangle(self, x1, y1, x2, y2, *args, **kwargs)
-
Canvas'ta sol üst köşesi verilen birinci koordinatta ve sağ alt köşesi verilen ikinci koordinatta olan bir dikdörtgen grafiksel objesi yaratır ve döndürür. Rectangle doldurulmamış bir şekilde siyah anahatla çizilir.
Args
x1
- dikdörtgenin sol üst köşesinin x koordinatı
y1
- dikdörtgenin sol üst köşesinin y koordinatı
x2
- dikdörtgenin sağ alt köşesinin x koordinatı
y2
- dikdörtgenin sol alt köşesinin y koordinatı
kwargs
- diğer thinkter keyword argümanları
Returns
verilen pozisyona çizilmiş grafiksel dikdörtgen objesi.
def create_text(self, x, y, text, **kwargs)
-
Verilen text ile canvas'ta verilen pozisyonda bir text objesi yaratır ve döndürür. Belirtilen x ve y koordinatlarına textin merkezini yerleştirir. Text 13 punto boyutunda yaratılır.
Args
x
- textin merkezinin olmasını istediğimiz yerin x koordinatı
y
- textin merkezinin olmasını istediğimiz yerin y koordinatı
text
- canvas'ta verilen pozisyonda gösterilmesi gereken text
kwargs
- diğer thinkter keyword argümanları
Returns
verilen texti verilen pozisyonda gösteren grafiksel text objesi.
def create_text_field(self, label, location, **kwargs)
-
Canvas'ta verilen pozisyona bir text field etiketi ve text field objesi ekler. Etkileşim araçları canvas'ın üst ve alt kısmında soldan sağa doğru eklenirken, sol ve sağ kısmında yukarıdan aşağıya eklenir. Canvas'ın text field objeleri kayıtlarına oluşturduğu text field objesini de ekler.
Args
label
- text field objesinin yanında gösterilecek oaln text, aynı zamanda text field objesinin adı. Diğer text field objesi isimleri içerisinde benzersiz olmalıdır.
location
- canvas üzerinde text field etiketini ve objesini eklemek istediğimiz bölge (Canvas.TOP/BOTTOM/LEFT/RIGHT)
kwargs
- text field objeleri için diğer thinkter keyword argümanları
Returns
verilen pozisyona eklenen text field objesine ait bir referans
def delete(self, obj)
-
Belirtilen grafiksel objeyi canvas'tan siler.
Args
obj
- canvas'tan silmek istediğimiz obje
def delete_all(self)
-
Canvas'tan tüm objeleri siler.
def find_all(self)
-
Canvas üzerindeki grafiksel objelerin bir listesini döndürür.
Returns
canvas üzerindeki tüm grafiksel objelerin bir listesi
def find_element_at(self, x, y)
-
Bu koordinatlarla çakışan en üstteki grafiksel objeyi bulur.
Args
x
- o noktadaki elemanı bulmak istediğimiz noktanın x koordinatı
y
- o noktadaki elemanı bulmak istediğimiz noktanın y koordinatı
Returns
bu koordinatlarda en üstteki grafiksel obje (eğer böyle bir obje yoksa None)
def find_overlapping(self, x1, y1, x2, y2)
-
Verilen sınırlayıcı kutu ile kesişen grafiksel objelerin bir listesini döndürür.
Args
x1
- sınırlayıcı kutunun sol üst köşesinin x koordinatı
y1
- sınırlayıcı kutunun sol üst köşesinin y koordinatı
x2
- sınırlayıcı kutunun sağ alt köşesinin x koordinatı
y2
- sınırlayıcı kutunun sağ alt köşesinin y koordinatı
Returns
canvas üzerinde verilen sınırlayıcı kutu ile kesişen grafiksel objelerin bir listesi
def get_canvas_background_color(self)
-
Canvas'ın arka plan renginin adını almamızı sağlar.
Returns
canvas'ın arka plan renginin adı (string formatında)
def get_canvas_height(self)
-
Canvas'ın uzunluğunu almamızı sağlar.
Returns
canvas'ın şu anki uzunluğu
def get_canvas_width(self)
-
Canvas'ın genişliğini almamızı sağlar.
Returns
canvas'ın şu anki genişliği
def get_fill_color(self, obj)
-
Verilen grafiksel objenin dolgu rengini almamızı sağlar. Resim objeleri gibi içi doldurulamayan objelerin dolgu rengini almak için kullanılamaz. thinkter.TclError hatası verir.
Args
obj
- dolgu rengini öğrenmek istediğimiz obje
Returns
Objenin dolgu rengi, string formatında. Eğer bu boş bir stringse, objenin içi henüz doldurulmamış demektir.
def get_height(self, obj)
-
Verilen grafiksel objenin yüksekliğini döndürür.
Args
obj
- yüksekliğini öğrenmek istediğimiz obje
Returns
verilen grafiksel objenin yüksekliği
def get_left_x(self, obj)
-
Verilen grafiksel objenin sol üst köşesinin x koordinatını döndürür.
Args
obj
- sol üst köşesinin x koordinatını almak istediğimiz obje
Returns
verilen objenin sol üst köşesinin x koordinatı
def get_mouse_x(self)
-
Farenin canvas üzerindeki konumunun x koordinatını verir.
Returns
farenin canvas üzerindeki konumunun x koordinatı
def get_mouse_y(self)
-
Farenin canvas üzerindeki konumunun y koordinatını verir.
Returns
farenin canvas üzerindeki konumunun y koordinatı
-
Bu fonksiyonun veya herhangi bir buton tıklanması işleyicisinin en son çağrılışından beri tıklanan butonların bir listesini döndürür.
Returns
bu fonksiyonun veya herhangi bir buton tıklanması işleyicisinin en son çağrılışından beri tıklanan butonların bir listesi. Listenin her elemanı o sırada tıklanmış olan butonun adıdır. Örneğin, clicks = canvas.get_new_button_clicked() print(click[0])
def get_new_key_presses(self)
-
Bu fonksiyonun veya herhangi bir klavye tuşu işleyicisinin en son çağrılışından beri basılan tuşların bir listesini döndürür.
Returns
bu fonksiyonun veya herhangi bir klavye tuşu işleyicisinin en son çağrılışından beri basılan tuşların bir listesi. Bu listenin herbir elemenaı, basılan tuş için keysym adlı bir özelliğe sahiptir. Örneğin, presses = canvas.get_new_key_presses() print(presses[0].keysym)
def get_new_mouse_clicks(self)
-
Bu fonksiyonun veya herhangi bir fare işleyicisinin en son çağrılışından beri gerçekleşen fare tıklanmalarının bir listesini döndürür.
Returns
bu fonksiyonun veya herhangi bir fare işleyicisinin en son çağrılışından beri gerçekleşen fare tıklanmaları. Her tıklanma farenin tıkladığı lokasyonun x ve y koordinatlarını içerir, örneğin clicks = canvas.get_new_mouse_clicks(); print(clicks[0].x)
def get_outline_color(self, obj)
-
Verilen grafiksel objenin anahat rengini almamıza yarar. Resim ve text objeleri gibi anahattı olmayan grafiksel objelerle kullanılamaz. thinker.TclError hatası verir.
Args
obj
- anahat rengini almak istediğimiz obje
Returns
verilen objenin anahat rengi, string formatında. Eğer bu string boşsa, objenin anahattı yok demektir.
def get_random_color(self)
-
Rastgele seçilmiş bir renk döndürür.
Returns
Rastgele seçilmiş bir renk, string formatında.
def get_text(self, obj)
-
Verilen text objesine ait texti almamızı sağlar. Text objesi olmayan grafiksel objelerle kullanılamaz.
Args
obj
- textini almak istediğimiz text objesi
Returns
grafiksel obje üzerinde şu an gösterilmekte olan text
def get_text_field_text(self, text_field_name)
-
Verilen isimdeki text field objesinin güncel içeriğini döndürür.
Args
text_field_name
- yaratılmış text field objesinin adı
Returns
verilen isimdeki text field objesinin güncel içeriği, veya bu isimde bir text field yoksa None.
def get_top_y(self, obj)
-
Verilen grafiksel objenin sol üst köşesinin y koordinatını döndürür.
Args
obj
- sol üst köşesinin y koordinatını almak istediğimiz obje
Returns
verilen objenin sol üst köşesinin y koordinatı
def get_width(self, obj)
-
Verilen grafiksel objenin genişliğini döndürür
Args
obj
- genişliğini öğrenmek istediğimiz obje
Returns
verilen grafiksel objenin genişliği.
-
Verilen grafiksel objenin canvas'ta görünmez veya görünür olduğunu öğrenmemize yarar.
Args
obj
- durumunu öğrenmek istediğimiz grafiksel obje
Returns
eğer grafiksel obje görünmez ise True, diğer türlü False.
def lower_behind(self, obj, behind)
-
İlk objeyi canvas'ta z ekseninde ikinci objenin arkasına yerleştirir. Diğer bir deyişle, ilk obje direkt olarak ikinci objenin ve ikinci objenin önündeki tüm objelerin arkasında görünürken, ikinci objenin arkasında olan objelerin önünde görünür.
Args
obj
- ikinci objenin önüne konulacak obje
behind
- ilk obje direkt arkasına konulacak olan obje
def lower_to_back(self, obj)
-
Verilen objeyi canvas'taki diğer tüm objelerin arkasına koyar.
Args
obj
- canvas'taki diğer tüm objelerin arkasına konulacak obje
def mouse_is_on_canvas(self)
-
Farenin şu an canvas üzerinde olup olmadığını döndürür. Returns whether or not the mouse is currently on the canvas.
Returns
eğer fare canvas üzerindeyse True, aksi halde False.
def move(self, obj, dx, dy)
-
Verilen grafiksel objeyi x ve y eksenlerinde belirtilen miktarlarda taşır.
Args
obj
- taşımak istediğimiz obje
dx
- objeyi x ekseninde taşımak istediğimiz miktar
dy
- objeyi y ekseninde taşımak istediğimiz miktar
def move_to(self, obj, new_x, new_y)
-
Canvas.moveto()
. ile aynı işlevi görür. def moveto(self, obj, x='', y='')
-
Verilen grafiksel objeyi belirtilen koordinatlara taşır, objenin sol üst köşesinin koordinatları verilen koordinata gelecek şekilde obje canvas'a yerleştirilir.
Args
obj
- taşımak istediğimiz obje
x
- objenin sol üst köşesinin yeni x koordinatı
y
- objenin sol üst köşesinin yeni y koordinatı
def raise_in_front_of(self, obj, above)
-
İlk objeyi canvas'ta z ekseninde ikinci objenin önüne yerleştirir. Diğer bir deyişle, ilk obje direkt olarak ikinci objenin ve ikinci objenin arkasındaki tüm objelerin önünde görünürken, ikinci objenin önünde olan tüm objelerin arkasında görünür.
Args
obj
- ikinci objenin önüne konulacak obje
above
- ilk objenin önüne konulacağı obje
def raise_to_front(self, obj)
-
Verilen objeyi canvas'taki diğer tüm objelerin önüne koyar.
Args
obj
- canvas'taki tüm objelerin önüne konulacak obje
def set_canvas_background_color(self, color)
-
Canvas'ın arka planını color stringine karşılık gelen renge boyar.
Args
color
- canvas'ın arka planını boyamak istediğimiz rengin adı (string).
def set_canvas_size(self, width, height)
-
Canvas'ı ve onu içeren pencereyi verilen genişlik ve uzunlukta olacak şekilde yeniden boyutlandırır.
Args
width
- canvas ve onu içeren pencerenin yeni genişliği
height
- canvas ve onu içeren pencerenin yeni uzunluğu
def set_canvas_title(self, title)
-
Canvas penceresinin başlık kısmındaki texti verilen text ile değiştirir.
Args
title
- canvas penceresinin başlık kısmında gösterilecek yeni başlık
def set_color(self, obj, color)
-
Verilen grafiksel objenin dolgu rengini ve anahat rengini değiştirir. Eğer obje dolgu veya anahatta sahip değilse, renk değiştirme işlemi göz ardı edilir.
Args
obj
- rengini değiştirmek istediğimiz obje
color
- dolgu ve anahattın olmasını istediğimiz rengin adı, string formatında. Eğer boş string verilirse,
obje dolgusu ve anahattı olmayacak şekilde ayarlanır.
def set_fill_color(self, obj, fill_color)
-
Verilen grafiksel objenin dolgu rengini değiştirmemizi sağlar. Image objeleri gibi doldurulamayan grafiksel objelerin rengini değiştirmek için kullanılamaz. thinkter.TclError hatası verir.
Args
obj
- dolgu rengini değiştirmek istediğimiz obje
fill_color
- objenin yeni dolgu renginin adı, string formatında. Eğer bu string boşsa
obje dolgusuz olacak şekilde ayarlanır.
def set_font(self, obj, font, size)
-
Verilen text objesi tarafından gösterilen textin yazı stilini ve boyutunu belirler. Text objesi olmayan grafiksel objelerle kullanılamaz.
Args
obj
- yazı stilini ve boyutunu belirlemek istediğimiz text objesi
font
- yazı stilinin adı, string
size
- yazının boyutu
-
Verilen grafiksel objenin görünürlüğünü canvas üzerinde değiştirmemize yarar.
Args
obj
- canvas üzerinde görünürlüğünü değiştirmek istediğimiz obje.
hidden
- eğer obje görünmez yapılacaksa True, eğer obje görünür yapılacaksa False.
-
Her butona tıklandığında verilen fonksiyonun çağrılmasını sağlar. Eğer set_on_button_clicked fonksiyonu birden çok kez çağrılırsa, en son çağrılışında verilen fonksiyon butona her tıklandığında çağrılır.
Args
callback
- butona her tıklandığında çağrılacak fonksiyon. Bu fonksiyon 1 parametre almalı:
tıklanan butonun adı. Örneğin, func(button_name). Eğer bu parametre None ise, butona tıklandığında hiçbir fonksiyon çağrılmaz.
def set_on_key_pressed(self, callback)
-
Her klavyeye basıldığında verilen fonksiyonun çağrılmasını sağlar. Eğer set_on_key_pressed fonksiyonu birden çok kez çağrılırsa, en son çağrılışında verilen fonksiyon klavyeye basıldığında çağrılır.
Args
callback
- klavyeye her basıldığında çağrılacak fonksiyon. Bu fonksiyon 1 parametre almalı:
klavyede basılan tuşun adı(a tuşu için 'a', b tuşu için 'b', etc.). Örneğin, func(key_char). Eğer bu parametre None ise, klavyeye basıldığında hiçbir fonksiyon çağrılmaz.
def set_on_mouse_pressed(self, callback)
-
Fareye her basıldığında verilen fonksiyonun çağrılmasını sağlar. Eğer set_on_mouse_pressed fonksiyonu birden çok kez çağrılırsa, en son çağrılışında verilen fonksiyon fareye basıldığında çağrılır.
Args
callback
- fareye her basıldığında çağrılacak fonksiyon. Bu fonksiyon 2 parametre almalı:
farenin basıldığı noktanın (sırasıyla) x ve y koordinatları. Örneğin, func(x, y). Eğer bu parametre None ise, fareye basıldığında hiçbir fonksiyon çağrılmaz.
def set_on_mouse_released(self, callback)
-
Fare her serbest bırakıldığında verilen fonksiyonun çağrılmasını sağlar. Eğer set_on_mouse_released fonksiyonu birden çok kez çağrılırsa, en son çağrılışında verilen fonksiyon fare serbest bırakıldığında çağrılır.
Args
callback
- fare her serbest bırakıldığında çağrılacak fonksiyon. Bu fonksiyon 2 parametre almalı:
farenin serbest bırakıldığı noktanın (sırasıyla) x ve y koordinatları. Örneğin, func(x, y). Eğer bu parametre None ise, fare serbest bırakıldığında hiçbir fonksiyon çağrılmaz.
def set_outline_color(self, obj, outline_color)
-
Verilen grafik objesinin anahat rengini değiştirmemize yarar. Resim ve text objeleri gibi anahattı olmayan objelerle birlikte kullanılamaz. thinkter.TclError hatası verir.
Args
obj
- anahat rengini değiştirmek istediğimiz obje
outline_color
- objenin anahattının olmasını istediğimiz renk, string formatında. Eğer boş bir string
verilirse obje anahattı olmayacak şekilde ayarlanır.
def set_outline_width(self, obj, width)
-
Verilen grafik objesinin anahattının kalınlığını değiştirir. Anahattı olmayan resim veya text objeleriyle birlikte kullanılamaz.
Args
obj
- anahattının kalınlığını değiştirmek istediğimiz obje
width
- anahattın yeni genişliği
def set_size(self, obj, width, height)
-
Verilen grafiksel objenin genişlik ve uzunluğunu değiştirmemize yarar. Resim objelerinin boyutunu değiştirmek için kullanılamaz.
Args
obj
- boyutlarını değiştirmek istediğimiz obje
width
- objenin yeni genişliği
height
- objenin yeni uzunluğu
def set_text(self, obj, text)
-
Verilen text objesine ait texti değiştirmemize yarar. Text objesi olmayan grafiksel objelerle kullanılamaz.
Args
obj
- textini değiştirmek istediğimiz text objesi
text
- grafiksel objenin göstermesini istediğimiz yeni text
def wait_for_click(self)
-
Fareye tıklanana kadar bekler, tıklama gerçekleştiğinde sonlanır.