如何在 Kivy 的 Builder 之外获取用户数据?
How to Get User's Data outside of Builder in Kivy?
我是 python 的初学者。我在 4 天前开始学习 kivy(也许是 kivymd)。我每天都学到新东西。但我找不到任何关于我的问题的答案。我将与您分享。
在学习kivy之前,我学习了tkinter。这是我目前最喜欢的 Easy GUI 模块。
在 Tkinter 中:
from tkinter import *
def show_data():
userdata=user_input.get()
print('Your Data is: '+userdata)
root=Tk()
root.title('Whosebug Help')
root.geometry('400x400')
user_input_text=Label(root,text='Enter Some Data',font='arial 20')
user_input_text.pack(pady=40)
user_input=Entry(root,font='20')
user_input.pack(pady=10)
user_input_button=Button(root,text='Done',font='20',command=show_data)
user_input_button.pack(pady=10)
root.mainloop()
我可以 Print/Get 用户在 Def/Function 中使用 idname.get()
方法输入数据。
但在基维:
from kivymd.app import MDApp
from kivy.lang import Builder
from kivy.core.window import Window
Window.size=(400,600)
please_help_me="""
MDScreen:
MDLabel:
text: 'Please Enter Some Data'
halign:'center'
pos_hint:{'center_x':0.5,'center_y':0.55}
MDTextField:
id:user_input
hint_text: 'Type Here' #How Can I Print/Get User Data outside of builder?
pos_hint:{'center_x':0.5,'center_y':0.44}
size_hint_x:None
width:300
MDRaisedButton:
text:'Done'
pos_hint: {'center_x':0.5,'center_y':0.35}
"""
class HelpPleaseApp(MDApp):
def build(self):
main=Builder.load_string(please_help_me)
return main
# I wanna create a Function Here That Print User's Inputed data from builder's 'MDTextField'
HelpPleaseApp().run()
我想打印 MDTextField
输入的数据,而按钮 pressed.I 知道 on_release: print(user_input.text)
可以做到,但它在构建器字符串中。我想在 main class 下的函数中执行 in。我还为它创建了 id
。但是不知道如何在函数中获取 MDTextField.text
/User 输入的数据并将其打印出来。我知道你会告诉我 google 它,但我已经在 google 和 youtube 上搜索过它。所以,我需要你的帮助(请)
您可以在 MDRaisedButton
部分下添加 on_release: app.show_user_input(user_input.text)
,然后在 HelpPleaseApp
:
中定义 show_user_input()
please_help_me="""
MDScreen:
MDLabel:
text: 'Please Enter Some Data'
halign:'center'
pos_hint:{'center_x':0.5,'center_y':0.55}
MDTextField:
id:user_input
hint_text: 'Type Here' #How Can I Print/Get User Data outside of builder?
pos_hint:{'center_x':0.5,'center_y':0.44}
size_hint_x:None
width:300
MDRaisedButton:
text:'Done'
pos_hint: {'center_x':0.5,'center_y':0.35}
on_release: app.show_user_input(user_input.text)
"""
class HelpPleaseApp(MDApp):
def show_user_input(self, text):
print(text)
def build(self):
main = Builder.load_string(please_help_me)
return main
我是 python 的初学者。我在 4 天前开始学习 kivy(也许是 kivymd)。我每天都学到新东西。但我找不到任何关于我的问题的答案。我将与您分享。
在学习kivy之前,我学习了tkinter。这是我目前最喜欢的 Easy GUI 模块。
在 Tkinter 中:
from tkinter import *
def show_data():
userdata=user_input.get()
print('Your Data is: '+userdata)
root=Tk()
root.title('Whosebug Help')
root.geometry('400x400')
user_input_text=Label(root,text='Enter Some Data',font='arial 20')
user_input_text.pack(pady=40)
user_input=Entry(root,font='20')
user_input.pack(pady=10)
user_input_button=Button(root,text='Done',font='20',command=show_data)
user_input_button.pack(pady=10)
root.mainloop()
我可以 Print/Get 用户在 Def/Function 中使用 idname.get()
方法输入数据。
但在基维:
from kivymd.app import MDApp
from kivy.lang import Builder
from kivy.core.window import Window
Window.size=(400,600)
please_help_me="""
MDScreen:
MDLabel:
text: 'Please Enter Some Data'
halign:'center'
pos_hint:{'center_x':0.5,'center_y':0.55}
MDTextField:
id:user_input
hint_text: 'Type Here' #How Can I Print/Get User Data outside of builder?
pos_hint:{'center_x':0.5,'center_y':0.44}
size_hint_x:None
width:300
MDRaisedButton:
text:'Done'
pos_hint: {'center_x':0.5,'center_y':0.35}
"""
class HelpPleaseApp(MDApp):
def build(self):
main=Builder.load_string(please_help_me)
return main
# I wanna create a Function Here That Print User's Inputed data from builder's 'MDTextField'
HelpPleaseApp().run()
我想打印 MDTextField
输入的数据,而按钮 pressed.I 知道 on_release: print(user_input.text)
可以做到,但它在构建器字符串中。我想在 main class 下的函数中执行 in。我还为它创建了 id
。但是不知道如何在函数中获取 MDTextField.text
/User 输入的数据并将其打印出来。我知道你会告诉我 google 它,但我已经在 google 和 youtube 上搜索过它。所以,我需要你的帮助(请)
您可以在 MDRaisedButton
部分下添加 on_release: app.show_user_input(user_input.text)
,然后在 HelpPleaseApp
:
show_user_input()
please_help_me="""
MDScreen:
MDLabel:
text: 'Please Enter Some Data'
halign:'center'
pos_hint:{'center_x':0.5,'center_y':0.55}
MDTextField:
id:user_input
hint_text: 'Type Here' #How Can I Print/Get User Data outside of builder?
pos_hint:{'center_x':0.5,'center_y':0.44}
size_hint_x:None
width:300
MDRaisedButton:
text:'Done'
pos_hint: {'center_x':0.5,'center_y':0.35}
on_release: app.show_user_input(user_input.text)
"""
class HelpPleaseApp(MDApp):
def show_user_input(self, text):
print(text)
def build(self):
main = Builder.load_string(please_help_me)
return main