Python ve Kivy ile Uygulama Geliştirme – 9

Categories python kivyPosted on
kivy fare hareketleri

Bu dersimizde fare hareketlerini göreceğiz. Kivy ile bir çok platform için uygulama geliştirebiliriz, bu yüzden bir masaüstü bilgisayarda fare hareketleri diye nitelendirdiğimiz olaylar bir dokunmatik yüzeyde (bir tablet veya telefon gibi…)  dokunma hareketleri olarak algılanır.

Bu dersimizde bir tasarım yapmayacağımız için tek bir dosya oluşturuyoruz. Bu dosyamız fare.py. 

Kivyde fare hareketlerini bazı fonksiyonlar aracılığı ile yakalıyabiliriz:

  1. def on_touch_down(self,touch):
  2. print touch

ilk fonksiyonumuz yukarıda gördüğünüz gibi kullanılır. on_touch_down fonksiyonu dokunma hareketini veya fare ile bir tık yapma hareketimizi algılar. Gördüğünüz gibi iki parametre almış durumda, touch parametresi dokunduğu bölgenin koordinatlarını tutar, biz bu fonksiyonda bu koordinatları print ile yazdırmışız. Yani biz uygulama ekranında her bir tıklama hareketi yaptığımızda konsol ekranımıza bir koordinat objesi düşmesi gerekir.

Eğer touch.x i print etseydik sadece x noktasının koordinatını elde ederdik veya aynı şekilde touch.y ile y noktasına da ulaşabilirdik.

Aynı şekilde bu parametrelei fareyi sürükleme veya bırakma içinde uygulayabiliriz. Bu fonksiyonlar da sırası ile şu şekildedir;

  1. def on_touch_move(self,touch):
  2.  
  3. print touch
  4.  
  5.  
  6. def on_touch_up(self,touch):
  7.  
  8. print touch

şimdi fare.py dosyamızın içeriğine bakalım.

  1. from kivy.app import App
  2.  
  3. from kivy.uix.widget import Widget
  4.  
  5. from kivy.graphics import Line,Color
  6.  
  7. class cizim(Widget):
  8.  
  9. def on_touch_down(self,touch):
  10.  
  11. with self.canvas:
  12.  
  13. Color(0,1,0)
  14.  
  15. touch.ud["Line"] = Line(points = (touch.x , touch.y))
  16.  
  17. def on_touch_move(self,touch):
  18.  
  19. touch.ud["Line"].points += (touch.x , touch.y)
  20.  
  21. class fare(App):
  22.  
  23. def build(self):
  24.  
  25. return cizim()
  26.  
  27.  
  28. if __name__ == "__main__":
  29.  
  30. fare().run()

bu dosyada bilmediğimiz yapılar canvas grafik öğelerini py dosyasında kullandığımız ve kullanmak için  uygulamamıza dahil ettiğimiz satırlar. Bu satırlara dikkat ederek py dosyasında nasıl canvas kullandığımızı anlayabilirsiniz.

Burada yaptığımız olay şu: on_touch_down fonksiyonu ile Line için bir başlangıç noktası belirliyoruz daha sonra sürüklediğimizde çizme işlemine devam edebilmesi için on_touch_move fonksiyonu ile fare koordinatlarına ulaşıyoruz ve bu noktaları line yapımıza ekliyoruz. Bunları yapabilmek için Line ve Color gibi grafik yapılarını nasıl dahil ettiğimize dikkat edin. Uygulamayı çalıştırdığınızda basit bir çizim uygulaması elde edeceksiniz.

 

Eğer sizde uygulamanızda bu şekilde çizimler yapabiliyorsanız herşeyi doğru yaptınız demektir. Eğer bir sorunla karşılaşırsanız youtube kanalımızdan videoları izleyebilir, yorumlardan sorularınızı yazabilirsiniz. 

 

avatar