Python使用.kv文件的Kivy中的相对布局

Kivy是Python中与平台无关的GUI工具。由于它可以在Android, IOS, Linux和Windows等操作系统上运行。它基本上是用于开发Android应用程序, 但这并不意味着它不能在桌面应用程序上使用。

????Kivy教程–通过示例学习Kivy。
相对布局:
  • 此布局的操作方式与FloatLayout相同, 但是定位属性(x, y, center_x, right, y, center_y和top)是相对于Layout大小而不是窗口大小的。
  • 实际上, 无论绝对位置和相对位置如何, 当布局的位置更改时, 小部件都会移动。
  • 可用的pos_hint键(x, center_x, right, y, center_y和top)对于对齐边缘或居中很有用。
    例如:
    pos_hint:{‘ center_x’ :。5, ‘ center_y’ :。5}会将窗口小部件对齐在中间, 而不管窗口的大小如何。
使用RelativeLayout要做的第一件事就是导入它。
from kivy.uix.relativelayout import RelativeLayout

我们可以通过以下方式进行相对定位:
pos_hint:提供位置提示。我们最多可以定义8个键, 即它采用字典形式的参数。
pos_hint = {” x” :1, ” y” :1, ” left” :1, ” right” :1, ” center_x” :1, ” center_y” :1, ” top” :1, ” bottom” :1 (“ 顶部” :0)}
注意:
Floatlayout和RelativeLayout都支持绝对位置和相对位置, 这取决于使用pos_hint还是pos。但是, 如果要绝对位置, 请使用FloatLayout。
Basic Approach to create Relative Layout: 1) import kivy 2) import kivy App 3) import Relativelayout 4) Set minimum version(optional) 5) create class for layout 6) create App class: - define build() function 7) Set up.kv file(name same ass the App class) 8) return Layout Class 9) Run an instance of the class

下面是实现:
main.py文件
## Sample Python application demonstrating the ## working of RelativeLayout 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 # This layout allows you to set relative coordinates for children. from kivy.uix.relativelayout import RelativeLayout# 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 RelativeLayout(RelativeLayout): pass# creating the App class in which name #.kv file is to be named Relative_Layout.kv class Relative_LayoutApp(App): # defining build() def build( self ): # returning the instance of root class return RelativeLayout() # run the app if __name__ = = "__main__" : Relative_LayoutApp().run()

【Python使用.kv文件的Kivy中的相对布局】.kv文件实施:
#.kv file implementation of RelativeLayout # creating button feature < Button> : # size of text on button font_size: 20# creating button # a button 20 % of the width and 20 % # of the height of the layout size_hint: 0.2 , 0.2< RelativeLayout> :# The Canvas is the root object # used for drawing by a Widget. canvas: Color: rgb: 0 , 1 , 1 Rectangle: # creating rectangle # pos = 20 % and size = 60 % of the layout pos:[ 0.2 * coord for coord in self .size] size:[ 0.6 * coord for coord in self .size]# creating the buttonButton:text: "B1"background_color: 0.1 , 0.5 , 0.6 , 1# positioned at 0 % in x axis and 0 % in y axis # from bottom left, i.e x, y = 0, 0 from bottom left: pos_hint: { "x" : 0 , "y" : 0 } Button: text: "B2" background_color: 1 , 0 , 0 , 1 pos_hint: { "right" : 1 , "y" : 0 } Button: text: "Yash" background_color: 0.4 , 0.5 , 0.6 , 1 pos_hint: { "center_x" :. 5 , "center_y" :. 5 } Button: text: "B3" background_color: 0 , 0 , 1 , 1 pos_hint: { "x" : 0 , "top" : 1 } Button: text: "B4" background_color: 0.8 , 0.9 , 0.2 , 1 pos_hint: { "right" : 1 , "top" : 1 }

输出如下:
窗口图像的大小不同, 表明它如何根据窗口进行调整, 即相对
图片1
Python使用.kv文件的Kivy中的相对布局

文章图片
图片2:
Python使用.kv文件的Kivy中的相对布局

文章图片
图片3:
Python使用.kv文件的Kivy中的相对布局

文章图片
参考:https://kivy.org/doc/stable/api-kivy.uix.relativelayout.html
首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。

    推荐阅读