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() ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
