我正在制作日志记录GUI,但是当按下按钮时,我找不到如何打印两个TextInput的值。
这是我的.py
:
import kivy
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
#[...]
class Login_Screen(BoxLayout):
def register(self):
print('Hi! I want here have the user and password, so later I can make a proper register function.')
pass
class MainApp(App):
def build(self):
return Login_Screen()
if __name__ == '__main__':
MainApp().run()
这是我的.kv
:(重要部分位于最后一行。)
#[...]
<Login_Screen>:
#[...]
BoxLayout:
AnchorLayout:
#[...]
TextInput01: # Come from @TextInput
id: user_input
BoxLayout:
#[...]
AnchorLayout:
TextInput01: # Come from @TextInput
id: password_input
BoxLayout:
Button01: # Come from @Button
id: login
text: 'Login'
Button01: # Come from @Button
id: register
text: 'Register'
on_press: root.register()
#[...]
是我删除的代码,以便更清楚。
我想按password_input
时打印user_input
值和register
值。
代码必须在.py
文件中,因为我不想只打印值,我想做一些更实用的功能,但这是一个让我理解的例子。
答案 0 :(得分:1)
请参阅下面的摘录和示例。
def register(self):
print("user: ", self.ids.user_input.text)
print("password: ", self.ids.password_input.text)
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
class Login_Screen(BoxLayout):
def register(self):
print("user: ", self.ids.user_input.text)
print("password: ", self.ids.password_input.text)
class MainApp(App):
def build(self):
return Login_Screen()
if __name__ == '__main__':
MainApp().run()
#:kivy 1.10.0
<Login_Screen>:
BoxLayout:
AnchorLayout:
TextInput:
id: user_input
BoxLayout:
AnchorLayout:
TextInput:
id: password_input
BoxLayout:
Button:
id: login
text: 'Login'
Button:
id: register
text: 'Register'
on_press: root.register()