📌  相关文章
📜  Python| Kivy 中的 FloatLayout 使用 .kv 文件

📅  最后修改于: 2022-05-13 01:54:26.864000             🧑  作者: Mango

Python| Kivy 中的 FloatLayout 使用 .kv 文件

Kivy 是Python中一个独立于平台的 GUI 工具。因为它可以在Android、IOS、linux和Windows等平台上运行。它基本上是用来开发Android应用程序的,但这并不意味着它不能在桌面应用程序上使用。

浮动布局:

Floatlayout为我们提供了相对排列按钮等元素的灵活性,即它允许我们使用称为相对位置的东西来放置元素。这意味着我们将使用窗口大小的百分比来放置所有内容,而不是定义特定位置或坐标,即我们可以动态排列元素的位置。

我们需要做的第一件事是 import FloatLayout –

from kivy.uix.floatlayout import FloatLayout

我们有 2 个属性来创建动态放置 -

笔记:

  • 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


方法的实施——

main.py 文件
## 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/