Ввод текстового редактора Kivy не отображается - PullRequest
0 голосов
/ 15 февраля 2019

К сожалению, я обнаружил ошибку в kivy и Python 3. Я не нашел ни одного сообщения через Google.Я хотел получить ввод текста по крайней мере, но он не появляется.Просто сам текст.Спасибо за ваше время!

import kivy
kivy.require('1.10.1') # replace with your current kivy version !

from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.textinput import TextInput
from kivy.uix.label import Label

class ColdKivyApp(App):
    def build(self):
        f = FloatLayout()
        label = Label(text="Cold") #I acutally orginally called it Zone unitil I changed it into Cold cause it's really cold now
        f.add_widget(label)
        txt = TextInput(text='', focus=True, multiline=True, cursor_blink=True, background_color=(1,1,1,1))
        f.add_widget(txt)
        return f

if __name__ == '__main__':
    ColdKivyApp().run()

1 Ответ

0 голосов
/ 15 февраля 2019

Кажется, что в TextInput есть ошибка при установке фокуса в конструкторе, обходной путь - установить фокус сразу после того, как окно показано через Clock:

import kivy
kivy.require('1.10.1') # replace with your current kivy version !
from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.textinput import TextInput
from kivy.uix.label import Label
from kivy.clock import Clock

class ColdKivyApp(App):
    def build(self):
        f = FloatLayout()
        label = Label(text="Cold") 
        f.add_widget(label)
        txt = TextInput(multiline=True, cursor_blink=True, background_color=(1,1,1,1))
        f.add_widget(txt)
        Clock.schedule_once(lambda *args: setattr(txt, "focus", True))
        return f

if __name__ == '__main__':
    ColdKivyApp().run()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...