KivyMD:更改MDLabel的font_name

雅罗斯拉夫(Yaroslav Hladkyi)

我想更改MDLabel的font_name属性。但是我想在.py文件中而不是文件中动态添加此组件.kv

所以当我写这样的东西:

main.py

from kivy.lang import Builder
from kivymd.app import MDApp
from kivymd.uix.label import MDLabel
from kivymd.uix.screen import MDScreen

class MainApp(MDApp):    
    def build(self):
        Builder.load_string(KV)
        otherLabel = MDLabel(
                text="one more text",
                halign="center",
                font_name="18328",
                font_size="50sp"
            )
        screen.add_widget(
            otherLabel
        )
        return screen

MainApp().run()

它没有帮助。如何实现动态应用字体?

KV弦

KV = '''
Screen:    
    MDCard:
        id: box
        orientation: "vertical"
        padding: "8dp"
        size_hint: None, None
        size: "280dp", "180dp"
        pos_hint: {"center_x": .5, "center_y": .5}
        
        MDLabel:
            text: "Hello"
            theme_text_color: "Secondary"
            size_hint_y: None
            height: self.texture_size[1]
            font_name: '18328.ttf'    

            
        MDSeparator:
            height: "1dp"
            
        MDLabel:
            text: "Body"
        
        MDLabel:
            text: "Hello"
            font_name: 'BebasNeue-Regular.otf'
            font_size: "50sp"
'''
亚什·科勒卡(Yash kolekar)

在屏幕本身中创建一个引用(您也无需使用.ttf,库会自动添加它,只需不带扩展名的文件名即可)

class MyScreen(Screen):
    my_MD_Label = None

    def on_kv_post(self, instance):
        self.my_MD_Label = MDLabel(
            text="one more text"
            font_name="18328"
        )
        self.ids.box.add_widget(self.my_MD_Label)

而且,只要您想更改它,就可以做到

self.my_MD_Label.font_name = "new_font"  # When in same screen
self.manager.get_screen('MyScreen').my_MD_Label.font_name = "new_font"  #When in other screen

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

更改OneLineListItem MDList的font_name

Python:font_name和粗体属性无法在kivy中一起使用

更改屏幕并在kivyMD上运行功能?

在 kivymd 中更改屏幕时更改工具栏标题

MDLabel 不滚动

如何使用 kivymd 底部导航将屏幕更改为屏幕

单击按钮不会在kivymd中更改屏幕

如何在Kivy / KivyMD中更改MDRectangleFlatIconButton文本颜色

从KivyMD中的MDDropdownMenu更改2个按钮的文本

如何在KivyMD中更改小部件参数的值

如何在KivyMD中更改颜色标题MDTab?

Kivymd:如何将“MDTextfield”更改为“int”

屏幕未在kivymd中更改,显示“ AttributeError:'NoneType'对象没有属性'transition'”

Kivymd-从底部工具栏更改屏幕不起作用

如何在kivymd中更改其他kv字符串的属性?

在KivyMD的MDDropdownMenu中按下标签后如何更改按钮的文本?

在KivyMD菜单中更改主按钮的值时出现问题

我想在 Python/KivyMD 中更改屏幕后立即打开 MDDialog

在 KivyMD Python 中更改开始屏幕时,如何在启动时显示或关闭消息?

对于 KivyMD MDBottomNavigationItem,是否可以更改文本以使其不是全部大写?

Kivymd:通过按下按钮更改工具栏背景颜色

如何更改Windows Font Explorer测试短语

更改Font Awesome图标的颜色

使用Font Awesome图标时的字体更改

font.TintAndShade无法更改文本的亮度

MDLabel 的 Adaptive_width 属性无法正常工作

如何在 kivy 中单击按钮时更新 MDLabel 的文本

使用CSS更改Font Awesome图标不起作用

用更少的构建Bootstrap来更改@ icon-font-path