【问题标题】:How to change font_name property for lables in Kivy?如何更改 Kivy 中标签的字体名称属性?
【发布时间】:2021-12-09 10:38:29
【问题描述】:

我正在尝试创建一个标签,为其指定一些文本并使用一些自定义字体,在 python 文件中使用属性“font_name”,而不是在 kv 文件中。这是代码:

python 代码:

some_text = bidi.algorithm.get_display(
        arabic_reshaper.reshape(<some_persian_text>))


MDLabel(text=some_text, size_hint=(None, None), font_name="fonts/Shabnam-Bold", size=(300, 100), pos_hint={'center_x': 0.5, 'center_y': .8}))

对应的kv文件:

<SomeScreen>:
    name: 'some_screen'
    AnchorLayout:
        id: main_layout
        size: self.width, self.height
        anchor_x: 'center'
        anchor_y: 'top'
        MDToolbar:
            id: main_toolbar
            title: "TITLE"
            # left_action_items: [["menu", lambda x: side_bar.set_state('open')]]
            left_action_items:[['arrow-left', lambda x: root.go_back()]]
            md_bg_color: app.theme_cls.primary_color
            elevation: 15

如您所见,我已经在 kv 文件中设置了工具栏,并尝试在 python 中为它动态呈现一些其他内容。标签的文本是波斯语(伊朗使用的一些从右到左的语言)。rabic_reshaper 旁边的 bidi 库使应用程序能够呈现从右到左的文本。问题是,当我完全在 kv 文件中执行此操作时(在 python 中设置文本,在 kv 文件中创建标签并将文本和 font_name 也在 kv 文件中设置),一切正常。但是当我这样做时(在py文件中创建和设置标签内容和字体),字体不能正常工作,并显示一些废话:

我该如何解决这个问题?谢谢。

【问题讨论】:

    标签: python kivy label


    【解决方案1】:

    看来使用标记标签可以解决问题:

    '[font = "path/to/font"]your text [/font]'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-27
      • 1970-01-01
      相关资源
      最近更新 更多