Python ve Kivy ile Uygulama Geliştirme – 4

Categories python kivyPosted on
teknopenguen kivy uygulama
0 0 vote
Article Rating

Python ve kivy uygulama geliştirme derslerimizin bu bölümünde uygulamamızdaki yapıların (buton, etiket…) uygulama çerçevesinde yerleşim pozisyonlarını belirlemeyi öğreneceğiz.

İki dosyamızı yani calisma.py ve calisma.kv dosyalarımızı oluşturalım ve calisma.py dosyamızın içeriğini şu şekilde belirleyelim.

  1. from kivy.app import App
  2.  
  3. from kivy.uix.widget import Widget
  4.  
  5. from kivy.uix.button import Button
  6.  
  7. from kivy.lang import Builder
  8.  
  9. Builder.load_file("calisma.kv")
  10.  
  11. class etiket(Widget):
  12. pass
  13.  
  14.  
  15. class uygulama(App):
  16.  
  17. def build(self):
  18.  
  19. return etiket()
  20.  
  21.  
  22. if __name__ == "__main__":
  23.  
  24. uygulama().run()

Burada bilmediğimiz iki yapı var biri Widget ve diğeri de Button. Uygulamamızdaki label, buton vs bunlara widget diyoruz ve ekran yerleşimlerini ayarlayabilmek için bu sınıfı kullandık. Button zaten her uygulamada karşımıza çıkan; tıklandığında belli bir işlevi yerine getiren yapılardır. Bunların nasıl import edildiğine dikkat ediniz.

Sıra calisma.kv dosyamızda ancak onu belirtmeden önce kivy nin koordinat sisteminden bahsedelim. Normalde bilgisayar uygulamaları matematik koordinat sisteminden farklı olarak kendilerine has bir koordinat sistemi kullanırlar. 

Bu koordinat sisteminde başlangıç noktası (0,0) ekranın sol üst köşesidir ve y aşağı gittikçe x sağa doğru gittikçe artar. Kivy uygulamalarında ise bunlardan farklı olarak matematik koordinaat sistemi kullanılır yani (0,0) noktası ekranın sol alt köşesidir ve ve y yukarı gittikçe artarken x yine sağa doğru gittikçe artar.

Gelin kv dosyamıza bu bilgileri göz önünde bulundurarak bakalım.

  1. <etiket>:
  2.  
  3. Button:
  4.  
  5. text: "Buraya Tıkla"
  6.  
  7. pos: 0 , 0
  8.  
  9. size: 100, 100

Burada etiket sınıfı altında bir buton tanımladık. Butonumuzun üzerinde “Buraya Tıkla” yazıyor. Butonumuz 100 x 100 boyutlarında ve (0,0) noktasından başlıyor. Yani sol alt köşeden. Uygulamamızı çalıştırarak kontrol edelim.

kivy uygulama grüntü

Uygulamanız bu şekilde çalıştı ise doğru yoldasınız demektir. Peki biz bu butonun sol üst köşeye yaslı olmasını istiyoruz. Bu durumda “pos” değerimizi şu şekilde değiştirmeliyiz.

  1. <etiket>:
  2.  
  3. Button:
  4.  
  5. text: "Buraya Tıkla"
  6.  
  7. pos: root.x , root.top - self.height
  8.  
  9. size: 100, 100
kivy uygulama görüntü

Gördüğünüz gibi bu sefer butonumuz sol üst köşede. Peki bu ifadelerin anlamı ne;

 Root.x çerçevemizin sol kenarını ifade eder root.top da üst kenarını. Ancak root.top yaptığımızda buton sol üst noktadan başlayıp yukarıya doğru yani ekranın dışına doğru oluşacağı için y noktasını root.top – self.height olarak belirledik. 

Yani ekranın en üst köşesinden buton boyunu çıkardık. Bu şekilde butonu ortaya konumlandırmak için pos değerimiz şu şekilde olmalıdır.

  1. <etiket>:
  2.  
  3. Button:
  4.  
  5. text: "Buraya Tıkla"
  6.  
  7. pos: root.center_x - self.width / 2 , root.center_y - self.height / 2
  8.  
  9. size: 100, 100

root.center_x ,  root.center_y ifadeleri çerçevemizin orta noktalarıdır. 

Butonumuz o noktadan başlayacaktır ancak biz butonumuzun orta noktasının bu noktadan başlamasını istiyoruz. Bu nedenlede genişlik ve yükseklik değerlerinin yarısını bu noktadan çıkarttık. Çalıştırarak sonucu görebilirsiniz.

 

Butonumuzu sağ kenara yaslamak için de root.right ifadesini kullanıyoruz. Bunu da siz deneyin ve butonu sağ alt noktaya yerleştirin. Eğer bir sorunla karşılaşırsanız yorum yaparak sorularınızı sorabilirsiniz.

 

guest
0 Yorum
Inline Feedbacks
View all comments