#python-3.x #kivy
#python-3.x #kivy
Вопрос:
Я новичок в Kivy-pyhton. Я использую python3 для использования kivy-tool
Я разработал небольшое приложение в kivy-tool
Я создаю приложение для получения данных от пользователя, сохранения в файле, а затем при нажатии любой кнопки я хочу показать данные в виджете
код для приложения:-
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
import os
from kivy.uix.scrollview import ScrollView
from kivy.properties import ObjectProperty
from kivy.uix.gridlayout import GridLayout
from kivy.core.window import Window
from kivy.uix.popup import Popup
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.stacklayout import StackLayout
Builder.load_string('''
<MenuScreen>:
BoxLayout:
Button:
text: 'Add New Employee'
on_press: root.manager.current = 'add_staff'
Button:
text: 'View Employee Profile'
on_press: root.manager.current = 'read_staff'
Button:
text: 'Salary report'
<read_New_staff>:
# nam: str(name_input)
# job: job_input
GridLayout:
cols: 2
Label:
id: label
font_size: 24
bold: True
height: root.height * .9
size_hint_y: None
# text: "file Content show here....."
text_size: self.width, None
height: self.texture_size[1]
valign: 'middle'
halign: 'center'
Button:
text: 'Back to menu'
on_press: root.manager.current = 'menu'
Button:
text: 'Show Data'
on_press: app.show()
<Lay>:
cols: 1
label: label
padding: 20
Label:
height: root.height * .1
size_hint_y: None
text: 'Read what is below'
font_size: 24
bold: True
ScrollView:
height: root.height * .85
size_hint_y: None
Label:
id: label
font_size: 24
bold: True
height: root.height * .9
size_hint_y: None
text: 'we will rock you'
text_size: self.width, None
height: self.texture_size[1]
# valign: 'middle'
# halign: 'center'
<Add_new_staff>:
# nam: str(name_input)
# job: job_input
GridLayout:
cols: 2
Label:
text: 'Product Name'
TextInput:
id: name_input
Label:
text: 'Price'
TextInput:
id: price_input
Label:
text: 'Priority'
TextInput:
id: priority_input
Button:
text: 'Back to menu'
on_press: root.manager.current = 'menu'
Button:
text: 'Save'
on_press: app.save(name_input.text, price_input.text,priority_input.text)
''')
class MenuScreen(Screen):
pass
class Add_new_staff(Screen):
pass
class read_New_staff(Screen):
pass
class Lay(GridLayout):
label = ObjectProperty()
sm = ScreenManager()
sm.add_widget(MenuScreen(name='menu'))
sm.add_widget(Add_new_staff(name='add_staff'))
sm.add_widget(read_New_staff(name='read_staff'))
class TestApp(App):
def build(self):
l = Lay()
fob = open('/home/vyclean14/Desktop/Rohit_kivy/test.txt','r')
content = fob.read()
fob.close()
l.label.text = content
self.hello = Button(text = "hello")
self.hello.bind(on_press = self.show)
return sm #l
def save(self, name,price,priority):
fob = open('/home/vyclean14/Desktop/Rohit_kivy/test.txt','a')
fob.write("Product Name:- " name "n")
fob.write("Price:- " price "n")
fob.write("Priority:- " priority "n")
fob.write("--------------------n")
fob.close()
def show(self, *args):
l = Lay()
fob = open('/home/vyclean14/Desktop/Rohit_kivy/test.txt','r')
content = fob.read()
fob.close()
# l.label.text = content
print(content)
if __name__ == '__main__':
TestApp().run()
# NewApp().run()
Основной вид:
Когда пользователь нажимает на Добавить сотрудника, его введенные данные добавляются в .txt
файл
Когда я нажимаю «Просмотреть сведения о сотрудниках», открываются данные показа.
При нажатии на show data я хочу показать данные в 1-м квадранте
Как я могу этого добиться
Спасибо