gpt4 book ai didi

python - Kivy - 动态改 rebase 本小部件属性

转载 作者:行者123 更新时间:2023-12-01 01:41:27 31 4
gpt4 key购买 nike

我想更改 kivy 中的基本小部件属性。这可以用 kivy 语言轻松完成,如 so :

<Label>:
font_size: sp(30)

这不必位于我的小部件树中才能影响在应用程序初始化时使用 Label 作为基类的所有类。因此,我的以下示例应用程序显示了两个按钮,其文本大于默认值,这正是我想要的。

testApp.py

class Main_Screen(Screen):
pass

class Root_Widget(ScreenManager):
pass

class testApp(App):
def build(self):
return Root_Widget()

if __name__ == '__main__':
testApp().run()

测试.kv

<Root_Widget>:
Main_Screen:
BoxLayout:
Label:
text: 'Label1'
Label:
text: 'Label2'

<Label>:
font_size: sp(30)

但是,我想根据我的窗口大小更新此 font_size 值(我知道如何动态更改,我只是没有在此处包含所有内容)。但是如何从 python 访问基类小部件的 font_size 属性以便可以更改它?

问题

如何通过 python 完成此更改,从而允许我在应用程序实例化时更改它?

最佳答案

  1. 添加标签导入语句,from kivy.uix.label import Label
  2. 添加 sp 的导入语句,from kivy.metrics import sp
  3. 使用Label.font_size = sp(30)

代码片段 - Python 代码

from kivy.uix.label import Label
from kivy.metrics import sp

class testApp(App):
def build(self):
Label.font_size = sp(30)
return Root_Widget()

输出

Img01

关于python - Kivy - 动态改 rebase 本小部件属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51845848/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com