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}会将窗口小部件对齐在中间, 而不管窗口的大小如何。
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
文章图片
图片2:
文章图片
图片3:
文章图片
参考:https://kivy.org/doc/stable/api-kivy.uix.relativelayout.html
首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。
推荐阅读
- Python在Kivy中的RecycleView用法示例
- Python集合中的remove()和throws()用法实例
- Python如何从IP地址中删除前导零()
- Python从数据集中移除常量特征介绍
- Python Kivy圆角按钮用法示例
- Python在kivy中使用.kv文件圆角按钮示例
- Python Kivy Scatter用法示例介绍
- Python使用.kv文件的Kivy中的ScreenManager
- Python seek()函数用法示例介绍