Python| Kivy 中的 FloatLayout 使用 .kv 文件
Kivy 是Python中一个独立于平台的 GUI 工具。因为它可以在Android、IOS、linux和Windows等平台上运行。它基本上是用来开发Android应用程序的,但这并不意味着它不能在桌面应用程序上使用。
👉🏽 Kivy Tutorial – Learn Kivy with Examples.
浮动布局:
Floatlayout
为我们提供了相对排列按钮等元素的灵活性,即它允许我们使用称为相对位置的东西来放置元素。这意味着我们将使用窗口大小的百分比来放置所有内容,而不是定义特定位置或坐标,即我们可以动态排列元素的位置。
我们需要做的第一件事是 import FloatLayout –
from kivy.uix.floatlayout import FloatLayout
我们有 2 个属性来创建动态放置 -
1) pos_hint: provide hint of position
We can define upto 6 keys i.e. it takes arguments in form of dictionary.
pos_hint = {“x”:1, “y”:1, “left”:1, “right”:1, “top”:1, “bottom”:1}
2) size_hint: provide hint of size
Contains two arguments i.e. width and height
笔记:
- size_hint 和 pos_hint 只能使用 0-1 之间的值。其中 0 = 0% 和 1 = 100%。
- kivy 中的坐标系从左下角开始工作!这在放置我们的对象时很重要。 (即 (0, 0) 是左下角)。
Basic Approach:
1) import kivy
2) import kivyApp
3) import Floatlayout
4) Set minimum version(optional)
5) create Layout class
6) create App class
7) Set up .kv file
8) return Layout/widget/Class(according to requirement)
9) Run an instance of the class
方法的实施——
## Sample Python application demonstrating the
## working of FloatLayout in Kivy using .kv file
###################################################
# import modules
import kivy
# base Class of your App inherits from the App class.
# app:always refers to the instance of your application
from kivy.app import App
# module consist the floatlayout
# to work with FloatLayout first
# you have to import it
from kivy.uix.floatlayout import FloatLayout
# To change the kivy default settings
# we use this module config
from kivy.config import Config
# 0 being off 1 being on as in true / false
# you can use 0 or 1 && True or False
Config.set('graphics', 'resizable', True)
# creating the root widget used in .kv file
class FloatLayout(FloatLayout):
pass
# creating the App class in which name
#.kv file is to be named Float_Layout.kv
class Float_LayoutApp(App):
# defining build()
def build(self):
# returning the instance of root class
return FloatLayout()
# run the app
if __name__ == "__main__":
Float_LayoutApp().run()
该文件包括按钮的动态放置,即随着屏幕尺寸的变化,按钮会相对调整自己,这是 FloatLayout 的好处。
.kv 文件实现方法——
#.kv file implementation of FloatLayout
# creating button feature
输出:
视频输出:
https://kivy.org/doc/stable/api-kivy.uix.floatlayout.html
https://techwithtim.net/tutorials/kivy-tutorial/floatlayout/