Как отображать текст при нажатии кнопки в Kivy - PullRequest
0 голосов
/ 10 июля 2020

Мне было интересно, как я могу сделать кнопку, которую я создал на своей платформе, с помощью Kivy, отображать текст при нажатии. Я хочу, чтобы текст отображался в окне kivy, а не в моем интегрированном терминале. Так что мне было интересно, может ли кто-нибудь мне с этим помочь. Я хочу, чтобы он отображал случайный вызов из моего txt файла, который у меня есть.

Вот мой код:

Label:
    text: "Truth or Dare?"
TextInput:
    hint_text: "Two Things To Try: Truth or Dare"
Button:
    text: "Generate"
    on_press: #I dont know what to do here
ScrollView:
Label:

Если бы кто-нибудь мог помочь, он был бы очень признателен!

1 Ответ

0 голосов
/ 10 июля 2020

На самом деле я предлагаю вам использовать ScreenManager с kivy, поэтому вы можете легко использовать свойства.

Но для этого решения вы можете использовать это:

from kivy.app import App
from kivy.lang import Builder
kv_string = """
#:import choice random.choice
BoxLayout:
    orientation: 'vertical'
    Label:
        id: mylabel
        text: "Truth or Dare?"
    TextInput:
        id: myinput
        hint_text: "Two Things To Try: Truth or Dare"
    Button:
        text: "Generate"
        on_release: root.ids.mylabel.text = choice(app.my_list)
"""
class MyApp(App):
    def build(self):
        with open('asd.txt', 'r') as mytxt:
            self.my_list = mytxt.readlines()
        return Builder.load_string(kv_string)
if __name__ == '__main__':
    MyApp().run()
...