首页 > 解决方案 > 如何在 Python Kivy 的 TextInput 字段中显示希伯来语文本

问题描述

我正在尝试在 kivy(一个 python 包)中制作一个简单的应用程序,它从 TextInput 字段中获取文本,当单击一个按钮时,它会返回一个希伯来语文本,该文本将显示在另一个 TextInput 上,一切似乎都工作得很好但是我遇到了 Kivy 中的 TextInput 字段无法显示我要显示的希伯来语文本的问题。

这就是我得到的: 我得到了什么 如您所见,它显示了这个奇怪的文本,而不是我需要显示的文本......

我的代码,我的主脚本:

import kivy
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.gridlayout import GridLayout
from kivy.uix.textinput import TextInput
from kivy.uix.label import Label
from kivy.uix.widget import Widget
from kivy.properties import ObjectProperty
import getData

class MainScreen(Widget):
    ttc = ObjectProperty(None)
    ct = ObjectProperty(None)

    def btn(self):
        self.ct.text = getData.HE_EN(text=self.ttc.text.lower())

    pass
class MyApp(App):
    def build(self):
        return MainScreen()

if __name__ == "__main__":
    MyApp().run()

我的“my.kv”文件:

<MainScreen>:
    ttc: ttc
    ct: ct
    GridLayout:
        size: root.width, root.height
        cols: 1
        TextInput:
            text: ""
            id: ttc
        Button:
            text: "CONVERT"
            on_press: root.btn()
        TextInput:
            text: "CONVERTED TEXT"
            id: ct

无需显示返回希伯来语文本的 getData.py 脚本,因为它并不重要......

预期的结果是在 TextInput 中获得我想要的文本,即使我认为我并没有真正做到。请帮我解决我的问题,我确实需要那个...

标签: pythonkivyhebrew

解决方案


好的!所以没花很长时间,因为不和谐服务器上的某个人帮助了我,我所要做的就是切换文本区域的字体,因为前一个没有希伯来字体。为此,我下载了字体“Arial”,将其与主脚本一起添加到了我的文件夹中,我导入from kivy.core.text import LabelBase并注册了字体:LabelBase.register(name="Arial", fn_regular="Arial.ttf"),告诉 TextInput 我想将字体设置为我刚刚添加到我的 .kv 文件中的字体在小部件'font_name:“Arial”'下,这解决了问题。


推荐阅读