繁体   English   中英

Kivy-动态更改基本窗口小部件属性

[英]Kivy - dynamically alter base widget property

我想更改基维中的基本窗口小部件属性。 这是很容易在像kivy语言做这样

<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()

test.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. from kivy.metrics import sp添加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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM