#python #variables #widget #kivy #kivy-language
#python #переменные #виджет #kivy #kivy-язык
Вопрос:
я хочу передать textinput.text в качестве аргумента в root.myfunc(textinput.text), чтобы имя функции myfunc() в файле .py получало этот аргумент и печатало случайный список в соответствии с этим аргументом
Вот мой файл .py:
import kivy
import random
kivy.require('1.11.1')
from kivy.uix.textinput import TextInput
from kivy.uix.widget import Widget
from kivy.app import App
class myclass(Widget):
a=10
def my_func(self):
randomlist=[]
for i in range(5):
num=random.randint(1,20)
randomlist.append(num)
print(randomlist)
class Myapp(App):
def build(self):
return myclass()
Myapp().run()
Вот мой файл .kv:
Button:
id:b1
text:"Display"
size:(120,50)
size_hint:(.5,.5)
pos:(130,290)
on_release: root.my_func()
TextInput:
id:t1
size:(170,50)
pos:(130,365)
Ответ №1:
Вы должны получить ввод текста по его идентификатору, а затем вы можете передать его текстовый атрибут в качестве аргумента вашей функции.
kv:
<myclass>
Button:
id:b1
text:"Display"
size:(120,50)
size_hint:(.5,.5)
pos:(130,290)
on_release: root.my_func(t1.text)
TextInput:
id:t1
size:(170,50)
pos:(130,365)
И функция python:
def my_func(self, text):
randomlist=[]
for i in range(5):
num=random.randint(1,20)
randomlist.append(num)
print(text)
print(randomlist)