Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

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

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

Kivy의 Python 플로트 레이아웃?

상대적 위치

이 접근 방식에서는 위치 힌트를 사용하여 버튼의 위치를 ​​설정합니다. 따라서 창의 크기 조정이 발생하면 창의 크기와 버튼의 크기가 변경되고 창의 상대적 크기에 따라 버튼의 위치도 계속 변경됩니다. 따라서 창을 눌렀을 때 버튼이 숨겨지지 않습니다.

예시

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

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

Kivy의 Python 플로트 레이아웃?