从Kivy Popoup输入

时间:2016-10-01 14:31:36

标签: python-3.x kivy

我试图在线查看不同的例子来解决这个问题,但仍然无法弄清楚。我有一个调用弹出类的应用程序。弹出窗口有一个输入字段,可以对输入字段中的文本进行一些操作。被操纵的数据存储在弹出类的内部变量中。现在,父窗口小部件如何访问从此窗口小部件获取的数据。这是代码的一个简短示例。

KV

<ScreenManagement>:
ScreenManager:
    id: manager
    size_hint_y: 93

    Screen:
        name: "Case_info_screen"
        id: sc1

        FloatLayout:
            BoxLayout:

                orientation: 'vertical'


                BoxLayout:
                    size_hint_y: 10
                    canvas.before:
                        Color:
                            rgb: 0.17, 0.17, 0.17 # your color here
                        Rectangle:
                            pos: self.pos
                            size: self.size

                    Label:
                        text_size: self.size
                        font_size: 20
                        valign: 'middle'
                        height: "75dp"
                        size_hint_y: None
                        color: 1,1,1,1

                        size_hint_x: 75
                        text: "    Case Info"
                    RelativeLayout:
                        size_hint_x: 25

                        Button:
                            text_size: self.size
                            halign: 'center'
                            valign: 'middle'
                            size_hint: 0.70, 0.6
                            pos_hint: {'center_x': 0.5, 'center_y': 0.5}
                            text: 'Automatic Filler'
                            on_press: root.formfiller()

                BoxLayout:

                    size_hint_y: 5
                    spacing: 35
                    LabelCases:
                        text: '  Name: '
                        width: '125dp'
                        size_hint_x:  None


                    TextInput:
                        id: first_name_input
                        width: '300dp'
                        height: '40dp'
                        size_hint_x: None
                        font_size: 18


                        hint_text: 'First Name'

                    TextInput:
                        id: last_name_input
                        width: '300dp'
                        height: '40dp'
                        size_hint_x: None
                        font_size: 18
                        hint_text: 'Last Name'

<Formfillerpop>:
    title: 'Automatic Filler'
    size_hint: None, None
    size: 600, 600
    BoxLayout:
        orientation: 'vertical'
        Label:
            size_hint_y: 20
            text: 'Please Paste your text'
            markup: True
        TextInput:
            id: sentence
            size_hint_y: 65
        BoxLayout:
            size_hint_y: 10
            orientation: 'horizontal'
            Button:
                text: 'Analyze'
                on_press: root.on_analyze(sentence.text)
            Button:
                text: 'Close'
                on_press: root.closepop()

Python:

class Formfillerpop(Popup):
    selection = StringProperty
    id = ObjectProperty
    def on_analyze(self, selection):
        analyze = TextExtractor(selection)

        names = analyze.name()




    def closepop(self):
        self.dismiss()


class ScreenManagement(FloatLayout):
    def formfiller(self, *args):
        Formfillerpop().open()




class IOApp(App):
    def build(self):
        return ScreenManagement()


if __name__ == '__main__':
    IOApp().run()

最终我想从弹出窗口中的名称中取出txt,然后使用分析的数据自动填充主应用程序中的名字和姓氏 对不起,如果这是基本的。我对Kivy很新。

1 个答案:

答案 0 :(得分:0)

您可以使用其content属性访问弹出式内容。您可以使用它来读取读取基础text的{​​{1}}属性。例如,此代码将此属性绑定到本地popup_text TextInput,这意味着弹出文本输入中的任何更改都将反映在那里:

StringProperty