Kivy中的Python浮動佈局?


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()

輸出

執行上面的程式碼,我們將得到以下結果:

更新於:2021年1月12日

515 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告