Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从另一个类kivy的TextInput获取数据_Python_Python 3.x_Kivy_Kivymd - Fatal编程技术网

Python 从另一个类kivy的TextInput获取数据

Python 从另一个类kivy的TextInput获取数据,python,python-3.x,kivy,kivymd,Python,Python 3.x,Kivy,Kivymd,我想打印我在另一个类的TextInput中写的内容,我有一个MDDialog,其中有一个TextInput位于另一个类中,我想打印我写的内容,但不打印任何内容,就好像TextInput的文本没有更新一样,请帮助 from kivy.lang import Builder from kivy.uix.boxlayout import BoxLayout from kivymd.app import MDApp from kivymd.uix.button import MDFlatButton

我想打印我在另一个类的TextInput中写的内容,我有一个MDDialog,其中有一个TextInput位于另一个类中,我想打印我写的内容,但不打印任何内容,就好像TextInput的文本没有更新一样,请帮助

from kivy.lang import Builder
from kivy.uix.boxlayout import BoxLayout

from kivymd.app import MDApp
from kivymd.uix.button import MDFlatButton
from kivymd.uix.dialog import MDDialog

KV = '''
<Content>
    orientation: "vertical"
  
  
  

    MDTextField:
        id: t1
        hint_text: "Write"


FloatLayout:

    MDFlatButton:
        text: "PRESS"
        pos_hint: {'center_x': .5, 'center_y': .5}
        on_release: app.show_confirmation_dialog()
        
  
'''


class Content(BoxLayout):
    pass


class Example(MDApp):
    dialog = None

    def build(self):
        return Builder.load_string(KV)

    def show_confirmation_dialog(self):
        if not self.dialog:
            self.dialog = MDDialog(
                title="Example:",
                type="custom",
                auto_dismiss=False,
                content_cls=Content(),
                buttons=[   
                    MDFlatButton(
                        text="PRINT", text_color=self.theme_cls.primary_color,on_press=self.haha
                    ),
                ],
            )
        self.dialog.open()
    def haha(self,*args):
        print("Content: "+Content().ids.t1.text)
        
Example().run()

你就是这样做的

from kivy.lang import Builder
from kivy.uix.boxlayout import BoxLayout

from kivymd.app import MDApp
from kivymd.uix.button import MDFlatButton
from kivymd.uix.dialog import MDDialog

KV = '''
<Content>
    orientation: "vertical"
    MDTextField:
        id: t1
        hint_text: "Write"

FloatLayout:
    MDFlatButton:
        text: "PRESS"
        pos_hint: {'center_x': .5, 'center_y': .5}
        on_release: app.show_confirmation_dialog()
        
'''

class Content(BoxLayout):
    pass


class Example(MDApp):
    dialog = None
    def build(self):
        return Builder.load_string(KV)

    def show_confirmation_dialog(self):
        if not self.dialog:
            self.dialog = MDDialog(
                title="Example:",
                type="custom",
                auto_dismiss=False,
                content_cls=Content(),
                buttons=[   
                    MDFlatButton(
                        text="PRINT", text_color=self.theme_cls.primary_color,on_press=self.haha
                    ),
                ],
            )
        self.dialog.open()
    def haha(self,*args):
        print("Content: "+ self.dialog.content_cls.ids.t1.text)
        
Example().run()

来自kivy.lang导入生成器
从kivy.uix.boxlayout导入boxlayout
从kivymd.app导入MDApp
从kivymd.uix.button导入MDFlatButton
从kivymd.uix.dialog导入MDDialog
KV='''
方向:“垂直”
MDTextField:
id:t1
提示文字:“写入”
浮动布局:
MDFlatButton:
正文:“新闻”
位置提示:{'center_x':.5'center_y':.5}
发布时:应用程序显示确认对话框()
'''
课程内容(BoxLayout):
通过
类示例(MDApp):
对话框=无
def生成(自):
返回生成器。加载字符串(KV)
def显示确认对话框(自我):
如果不是self.dialog:
self.dialog=MDDialog(
title=“示例:”,
type=“自定义”,
自动退出=错误,
content_cls=content(),
按钮=[
MDFlatButton(
text=“PRINT”,text\u color=self.theme\u cls.primary\u color,on\u press=self.haha
),
],
)
self.dialog.open()
def haha(self,*args):
打印(“内容:+self.dialog.Content\u cls.ids.t1.text”)
示例().run()
非常感谢兄弟
from kivy.lang import Builder
from kivy.uix.boxlayout import BoxLayout

from kivymd.app import MDApp
from kivymd.uix.button import MDFlatButton
from kivymd.uix.dialog import MDDialog

KV = '''
<Content>
    orientation: "vertical"
    MDTextField:
        id: t1
        hint_text: "Write"

FloatLayout:
    MDFlatButton:
        text: "PRESS"
        pos_hint: {'center_x': .5, 'center_y': .5}
        on_release: app.show_confirmation_dialog()
        
'''

class Content(BoxLayout):
    pass


class Example(MDApp):
    dialog = None
    def build(self):
        return Builder.load_string(KV)

    def show_confirmation_dialog(self):
        if not self.dialog:
            self.dialog = MDDialog(
                title="Example:",
                type="custom",
                auto_dismiss=False,
                content_cls=Content(),
                buttons=[   
                    MDFlatButton(
                        text="PRINT", text_color=self.theme_cls.primary_color,on_press=self.haha
                    ),
                ],
            )
        self.dialog.open()
    def haha(self,*args):
        print("Content: "+ self.dialog.content_cls.ids.t1.text)
        
Example().run()