Как отобразить текст на иврите в поле TextInput в Python Kivy - PullRequest
1 голос
/ 22 апреля 2019

Я пытаюсь создать простое приложение на языке kivy (пакет python), которое получает текст из поля TextInput, и при нажатии кнопки он возвращает текст на иврите, который будет отображаться в другом TextInput, все работает просто отлично, но я сталкиваюсь с проблемой, что поле TextInput в Kivy не может показать текст на иврите, который я пытаюсь показать.

Вот что я получаю: What I get Как видите, он показывает этот странный текст вместо текста, который мне нужно показать ...

Мой код, Мой основной скрипт:

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 даже при том, что мне действительно не удается. Пожалуйста, помогите мне исправить мою проблему, мне действительно это нужно ...

1 Ответ

1 голос
/ 22 апреля 2019

Хорошо! Так что это не заняло много времени, потому что кто-то на сервере раздоров помог мне, и все, что мне нужно было сделать, это просто переключить шрифт текстовой области, потому что предыдущий не имел шрифта на иврите. Для этого я скачал шрифт «Arial», добавил его в свою папку с основным скриптом, импортировал from kivy.core.text import LabelBase, а затем зарегистрировал шрифт: LabelBase.register(name="Arial", fn_regular="Arial.ttf"), чтобы сообщить TextInput, что я хочу установить шрифт, который я просто добавлен в мой файл .kv под виджетом «font_name:« Arial »», и это решило проблему.

...