Python 3.x 在kivy python中显示目标小部件上的数据

Python 3.x 在kivy python中显示目标小部件上的数据,python-3.x,kivy,Python 3.x,Kivy,我是Kivy pyhton的新手。我正在使用python3来使用kivy工具 我在kivy tool中开发了一个小应用程序 我正在制作一个应用程序,从用户那里获取数据,保存在一个文件中,然后点击任何按钮,我想在小部件上显示数据 该应用程序的代码为:- from kivy.app import App from kivy.lang import Builder from kivy.uix.screenmanager import ScreenManager, Screen from kivy.ui

我是Kivy pyhton的新手。我正在使用python3来使用kivy工具

我在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()
从kivy.app导入应用
从kivy.lang导入生成器
从kivy.uix.screenmanager导入screenmanager,屏幕
从kivy.uix.label导入标签
从kivy.uix.textinput导入textinput
导入操作系统
从kivy.uix.scrollview导入scrollview
从kivy.properties导入ObjectProperty
从kivy.uix.gridlayout导入gridlayout
从kivy.core.window导入窗口
从kivy.uix.popup导入弹出窗口
从kivy.uix.button导入按钮
从kivy.uix.boxlayout导入boxlayout
从kivy.uix.stacklayout导入stacklayout
Builder.load_字符串(“”)
:
盒子布局:
按钮:
文本:“添加新员工”
按:root.manager.current='add\u staff'
按钮:
文本:“查看员工档案”
按:root.manager.current='read\u staff'
按钮:
文本:“工资报告”
:
#nam:str(名称输入)
#作业:作业输入
网格布局:
科尔斯:2
标签:
id:标签
字体大小:24
黑体字:对
高度:root.height*.9
尺寸提示:无
#文本:“文件内容显示在此处…”
文本大小:self.width,无
高度:自身纹理大小[1]
valign:“中间”
哈利恩:“中心”
按钮:
文本:“返回菜单”
按:root.manager.current='菜单'
按钮:
文本:“显示数据”
按:app.show()
:
科尔斯:1
标签:标签
填充:20
标签:
高度:root.height*.1
尺寸提示:无
文本:“阅读下面的内容”
字体大小:24
黑体字:对
滚动视图:
高度:根高度*.85
尺寸提示:无
标签:
id:标签
字体大小:24
黑体字:对
高度:root.height*.9
尺寸提示:无
文字:“我们将摇滚你”
文本大小:self.width,无
高度:自身纹理大小[1]
#valign:“中间”
#哈利恩:“中心”

当用户单击Add employee时,其输入的数据将添加到
.txt
文件中

当我点击“查看员工详细信息”时,显示数据打开

单击“显示数据”后,我想在第一象限显示数据

我怎样才能做到这一点

多谢各位