Computer >> Máy Tính >  >> Lập trình >> Python

Bố cục Python Float trong Kivy?

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 -

Bố cục Python Float trong Kivy?

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 -

Bố cục Python Float trong Kivy?