Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python Float Layout ใน Kivy?


Kivy เป็นไลบรารี Python แบบโอเพ่นซอร์สสำหรับการพัฒนาแอปพลิเคชันอย่างรวดเร็วซึ่งใช้ประโยชน์จากอินเทอร์เฟซผู้ใช้ที่เป็นนวัตกรรมใหม่ เช่น แอปมัลติทัช มันถูกใช้เพื่อพัฒนาแอปพลิเคชัน Android เช่นเดียวกับแอปพลิเคชันเดสก์ท็อป ในบทความนี้ เราจะมาดูวิธีการใช้วิดเจ็ต FloatLayout เพื่อสร้างปุ่มในตำแหน่งต่างๆ ในหน้าต่าง ตำแหน่งของปุ่มอาจเป็นแบบสัมบูรณ์หรือสัมพันธ์กับหน้าต่างที่ใหญ่กว่า

ด้วยตำแหน่งแอบโซลูท

ในแนวทางนี้ เรากำหนดตำแหน่งของปุ่มในตำแหน่งคงที่ ดังนั้นเมื่อการปรับขนาดหน้าต่างเกิดขึ้น ขนาดของหน้าต่างและขนาดของปุ่มจะเปลี่ยนไป แต่ตำแหน่งของปุ่มจะคงที่ ดังนั้นปุ่มจะถูกซ่อนหลังจากบางครั้งขึ้นอยู่กับว่าหน้าต่างถูกบีบอย่างไร

ตัวอย่าง

import kivy
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.floatlayout import FloatLayout
#from kivy.config import Config

#Config.set('graphics', 'resizable', True)

# creating the App class
class FloatApp(App):

   def build(self):
      # creating Floatlayout
      Flt = FloatLayout()

      btn = Button(text='Hello world',
         size_hint=(0.5 ,0.2),
         pos=(100, 200),
         background_normal='',
         background_color=(1, 0, 1, 1))

      # adding button widget
      Flt.add_widget(btn)

      return Flt

# Run the app
FloatApp().run()

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

Python Float Layout ใน Kivy?

กับตำแหน่งสัมพัทธ์

ในแนวทางนี้ เรากำหนดตำแหน่งของปุ่มด้วยคำใบ้ตำแหน่ง ดังนั้นเมื่อการปรับขนาดหน้าต่างเกิดขึ้น ขนาดของหน้าต่างและขนาดของปุ่มจะเปลี่ยนไป และตำแหน่งของปุ่มจะเปลี่ยนไปตามขนาดสัมพันธ์ของหน้าต่างด้วย ดังนั้นปุ่มจะไม่ถูกซ่อนเมื่อบีบหน้าต่าง

ตัวอย่าง

from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.floatlayout import FloatLayout
from kivy.config import Config

Config.set('graphics', 'resizable', True)

# creating the App class
class FloatApp(App):

   def build(self):
      # creating Floatlayout
      Flt = FloatLayout()

      btn = Button(text='Hello world',
         size_hint=(0.2 ,0.2),
         pos_hint={'x':.2, 'y':.2 },
         background_normal='',
         background_color=(1, 1, 0, 0.8)
         )

      # adding button widget
      Flt.add_widget(btn)

      return Flt

# Run the app
FloatApp().run()

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

Python Float Layout ใน Kivy?