Kivy là một thư viện Python mã nguồn mở để phát triển nhanh chóng các ứng dụng sử dụng giao diện người dùng sáng tạo, chẳng hạn như các ứng dụng cảm ứng đa điểm. Nó được sử dụng để phát triển ứng dụng Android, cũng như các ứng dụng Máy tính để bàn. Trong bài viết này, chúng ta sẽ xem cách sử dụng tiện ích FloatLayout để tạo các nút ở các vị trí khác nhau trong cửa sổ. Vị trí của nút có thể là tuyệt đối hoặc tương đối đối với cửa sổ lớn hơn.
Với vị trí Tuyệt đối
Trong cách tiếp cận này, chúng tôi đặt vị trí của nút ở một vị trí cố định. Vì vậy, khi thay đổi kích thước của cửa sổ xảy ra, kích thước của cửa sổ và kích thước của nút thay đổi nhưng vị trí của nút không đổi. Vì vậy, nút này đôi khi bị ẩn tùy thuộc vào cách cửa sổ được siết chặt.
Ví dụ
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()
Chạy đoạn mã trên cho chúng ta kết quả sau -
Với vị trí tương đối
Trong cách tiếp cận này, chúng tôi đặt vị trí của nút với gợi ý vị trí. Vì vậy, khi thay đổi kích thước của cửa sổ xảy ra, kích thước của cửa sổ và kích thước của nút thay đổi và vị trí của nút cũng thay đổi theo kích thước tương đối của cửa sổ. Vì vậy, nút không bao giờ bị ẩn khi cửa sổ được siết chặt.
Ví dụ
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()
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -