Я создаю небольшое приложение, используя Python и библиотеку Kivy с Raspberry Pi.
Графический интерфейс пользователя содержит 4 текстовых входа и 3 кнопки в Float Layout.Проблема в том, что когда я нажимаю на курсор ввода текста, отображается и сразу исчезает.Я могу ввести текст, только если щелчок мышью не отпущен.
.kv файл:
<AddStuffMenu>:
FloatLayout:
canvas.before:
Color:
rgba: 1, 1, 1, 1
Rectangle:
pos: self.pos
size: self.size
Button:
text: "Info"
pos_hint: {'center_x': 0.5, 'center_y': .8}
size_hint: .5, .1
font_size: self.height * 0.5
background_color:0,0,0,0
color: 0,0,1,1
enabled : False
TextInput:
size_hint: .2, None
height:30
text:''
pos_hint: {'center_x': 0.5, 'center_y': .7}
multiline: False
hint_text : "code"
id: code
TextInput:
size_hint: .2, None
height:30
text:''
pos_hint: {'center_x': .5, 'center_y': .6}
multiline: False
hint_text : "product"
id: product
TextInput:
size_hint: .2, None
height:30
text:''
pos_hint: {'center_x': .5, 'center_y': .5}
multiline: False
hint_text : "amount"
id: amount
TextInput:
size_hint: .2, None
height:30
text:''
pos_hint: {'center_x': .5, 'center_y': .4}
multiline: False
hint_text : "price"
id: price
Button:
text: "Scan"
pos_hint: {'center_x': .2, 'center_y': .2}
size_hint: .15, .1
font_size: self.height * 0.5
background_color:1, 0, 0, 1
on_press: root.scan()
Button:
text: "Add"
pos_hint: {'center_x': .5, 'center_y': .2}
size_hint: .15, .1
font_size: self.height * 0.5
background_color: 1, 0, 0, 1
on_press: root.add()
Button:
text: "Back"
pos_hint: {'center_x': .8, 'center_y': .2}
size_hint: .15, .1
font_size: self.height * 0.5
background_color: 1, 0, 0, 1
on_press: root.exitScope()
.py файл
class AddStuffMenu(Screen):
def __init__(self,**kwargs):
super (AddStuffMenu,self).__init__(**kwargs)
def exitScope(self,*args):
self.manager.current = 'screenTableData'
def scan(self,*args):
os.system('python /home/pi/barcode.py')
if(os.path.getsize('/home/pi/barcode.txt') > 0):
code = open('/home/pi/barcode.txt', 'r').read()
result = getLineByUPC(code)
if result is not None:
self.ids.codeInput.text = str(result[0])
self.ids.produsInput.text = str(result[1])
else:
popup = Popup(title='INFO', content=Label(text="Produc doesn't exist"), size_hint=(None, None), size=(500, 300), font_size='23sp', valign='justify', haligh='top')
popup.open()
self.ids.code.text = code
else:
popup = Popup(title='INFO', content=Label(text="Try again"), size_hint=(None, None), size=(500, 300), font_size='23sp', valign='justify', haligh='top')
popup.open()
def add(self,*args):
print("AddStuffMenu - add")
print(self.ids.code.text)
print(self.ids.product.text)
print(self.ids.amount.text)
print(self.ids.price.text)
Любая рекомендация?