【发布时间】:2021-08-01 08:20:11
【问题描述】:
我一直在尝试将文本输入分配给一个变量 我的 TextInput 对象位于工厂对象 (object_1) 中
我尝试使用分配它
txt_1=self.root.ids.txt.text
但是没用
这是完整的代码
from kivymd.app import App
from kivy.lang import Builder
from kivy.factory import Factory
kv='''
#:import Factory kivy.factory.Factory
# this is object 1 which will be added to main grid
<object_1@BoxLayout>:
orientation:'vertical'
size_hint_y:None
adaptive_height: True
height:self.minimum_height
id:obj_1
TextInput:
size_hint:None,None
id:txt
#main grid
BoxLayout:
orientation:'vertical'
size_hint_y:None
adaptive_height: True
height:self.minimum_height
GridLayout:
cols:1
size_hint_y:None
adaptive_height:True
height:self.minimum_height
id:sc_grid
Button:
size_hint:None,None
text: 'Add 1'
on_press:
app.add_1()
Button:
size_hint:None,None
text: 'Assign value'
on_press:
app.Assign()
'''
class MyApp(App):
def build(self):
return Builder.load_string(kv)
def add_1(self):
self.root.ids.sc_grid.add_widget(Factory.object_1())
# this crashes
def Assign(self):
txt_1=self.root.ids.txt.text
MyApp().run()
在上面的代码中,当按钮被按下时,object_1 被添加到主网格中
按下 TextInput 对象出现在主网格中
输入值后,我想点击assign按钮进行赋值
【问题讨论】:
标签: python kivy kivy-language kivymd