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()
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
กับตำแหน่งสัมพัทธ์
ในแนวทางนี้ เรากำหนดตำแหน่งของปุ่มด้วยคำใบ้ตำแหน่ง ดังนั้นเมื่อการปรับขนาดหน้าต่างเกิดขึ้น ขนาดของหน้าต่างและขนาดของปุ่มจะเปลี่ยนไป และตำแหน่งของปุ่มจะเปลี่ยนไปตามขนาดสัมพันธ์ของหน้าต่างด้วย ดังนั้นปุ่มจะไม่ถูกซ่อนเมื่อบีบหน้าต่าง
ตัวอย่าง
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()
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -