转发:kivy中的一些widget及其参数~

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了转发:kivy中的一些widget及其参数~相关的知识,希望对你有一定的参考价值。

参考技术A | 标签:

| 分类: kivy |

AnchorLayout: 它可以把它里面的widget部署到窗口的边界和中心

GridLayout: 它把它里面的widget布置成一个矩阵,可以一行一行的排列或者一列一列的排列

BoxLayout: 它把它里面的widget按水平或者垂直方向来布置

RelativeLayout: 和FloatLayout很像,但是其中widget的位置不是相对于整个屏幕的,而是相对于layout的

FloatLayout: 它允许在它里面的widget可以摆放在任意位置,并且大小也可以任意的

ScatterLayout:

ps: 详细了解layout的参数设置可以在该路径下运行main.py <wbr>

/Applications/Kivy.app/Contents/Resources/kivy/examples/demo/kivycatalog

ToggleButton: 这个ToggleButton和Button的区别在于按一次后会保持被按进去的状态直到再按一次才会还原.

把ToggleButton的不同实例可以分配到同一个group里,这样同一个group中的Button在同一时刻就只有一个Button可以被按下,eg, group:’第一组’ , 这里group的值是一个字符串

widget中的各种参数详解:

padding: 控制的是widget和窗口边缘的间隔

spacing: 控制的是各个widget之间的间隔

size_hint: 控制的是widget的大小,比如button,label等,e.g. size_hint:.2,.4代表这个widget的宽是占屏幕大小的20%,高占屏幕大小的百分之40%. 它控制的是widget的绝对大小.

pos_hint: 其格式是一个dict,默认值是空

pos: 需要传入的参数是坐标值

猕猴桃中的参考按钮

[我一直在想,是否有必要在python函数中引用.kv文件中的按钮,而不必将按钮作为参数传递给所述函数。抱歉,如果这是一个愚蠢的问题,刚开始使用此框架进行基于手势的UI。

答案

在我问了问题之后才在这里找到答案:https://kivy.org/doc/stable/api-kivy.uix.widget.html?highlight=widget#kivy.uix.widget.Widget.id

对于任何想知道这里是文档中代码示例的人:

kv文件:

# in kv
<MyWidget@Widget>:
id: my_widget
Label:
    id: label_widget
    Widget:
        id: inner_widget
        Label:
            id: inner_label
TextInput:
    id: text_input
OtherWidget:
    id: other_widget


<OtherWidget@Widget>
  id: other_widget
Label:
    id: other_label
    TextInput:
        id: other_textinput

然后在python文件中引用:

>>> widget = MyWidget()
>>> print(widget.ids)

以上是关于转发:kivy中的一些widget及其参数~的主要内容,如果未能解决你的问题,请参考以下文章

如果未动态添加,如何正确删除Kivy中的小部件

猕猴桃中的参考按钮

将当前单击的按钮作为参数传递给 Kivy (Python) 中的 on_press

kivy 基础: widget, texture的使用

kivy学习---控件

如何在 Kivy 语言导入中使用别名?