Я новичок в kivy и Python. Это фрагмент моего кода: .py файл:
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.properties import ObjectProperty, StringProperty
from kivy.uix.popup import Popup
from kivy.uix.label import Label
from database import DataBase
class IpickupWindow(Screen):
n = ObjectProperty(None)
start1 = StringProperty('Test')
current = ""
pop = StringProperty("")
def on_enter(self, *args):
name = db.curr_user(self.current)
self.n.text = "Hi, " + name
print(self.start1)
def on_leave(self, *args):
print(self.start1)
#print(self.start1.text)
def btn(self):
popup = CustomPopup()
print(self.pop)
popup.open()
.kv файл:
<IpickupWindow>:
name:"Ipick"
n:n
start1: str(start)
FloatLayout:
cols: 1
FloatLayout:
size: root.width, root.height/2
Label:
id: n
pos_hint:{"x": 0.0, "top":1.0}
size_hint:0.8, 0.2
Label:
pos_hint:{"x": 0.1, "top":0.9}
size_hint:0.8, 0.2
text: "Please provide the below details to find the best ride for you: "
Label:
pos_hint:{"x": 0.0, "top":0.75}
size_hint:0.4, 0.2
text: "Start Location: "
TextInput:
id: start
font_size: (root.width**2 + root.height**2) / 13**4
multiline: False
pos_hint: {"x": 0.4 , "top":0.7}
size_hint: 0.3, 0.1
Label:
pos_hint:{"x": 0.0, "top":0.55}
size_hint:0.4, 0.2
text: "End Location: "
TextInput:
id: end
font_size: (root.width**2 + root.height**2) / 13**4
multiline: False
pos_hint: {"x": 0.4 , "top":0.5}
size_hint: 0.3, 0.1
Label:
pos_hint:{"x": 0.0, "top":0.35}
size_hint:0.4, 0.2
text: "Time frame: "
TextInput:
id: time
font_size: (root.width**2 + root.height**2) / 13**4
multiline: False
pos_hint: {"x": 0.4 , "top":0.3}
size_hint: 0.3, 0.1
Button:
pos_hint:{"x":0.4, "top": 0.1}
size_hint:0.2,0.1
text: "Submit"
on_press: root.btn()
, поэтому следующие 2 проблемы:
- При попытке напечатать start1 в функции on_enter он выводит это в консоли:
- <- объект kivy.uix.textinput.TextInput по адресу 0x00000240AC1E0208 -> - Я хочу напечатать значение текстового поля kivy
При попытке напечатать start1 в функции on_leave печатается нулевое значение. Я хочу напечатать значение текстового поля kivy.