Python 无法添加kivymd';MDGridLayout中的MDS MDTextField

Python 无法添加kivymd';MDGridLayout中的MDS MDTextField,python,android,python-3.x,kivy,kivy-language,Python,Android,Python 3.x,Kivy,Kivy Language,我是kivy框架的新手,但是我正在尝试制作一个简单的登录屏幕,其中将有一个文本字段和一个按钮 我的Python代码是: from kivymd.app import MDApp from kivy.uix.screenmanager import Screen,\ ScreenManager from kivy.lang import Builder class Project (MDApp): def buil

我是kivy框架的新手,但是我正在尝试制作一个简单的登录屏幕,其中将有一个文本字段和一个按钮

我的Python代码是:

from kivymd.app import MDApp
from kivy.uix.screenmanager import Screen,\
                                    ScreenManager

from kivy.lang import Builder

class Project (MDApp):
    def build (self):
        return Builder.load_file('main.kv')
    
Project().run()
而main.kv文件是:

我得到以下错误:

[INFO][Logger]记录登录/storage/simulated/0/@tsmile/projects/pro_two/.kivy/logs/kivy_21-03-19_38.txt
[INFO][Kivy]v1.11.1
[INFO][Kivy]安装在“/data/user/0/ru.iiec.pydroid3/files/aarch64 linux-android/lib/python3.8/site-packages/Kivy/init.py”
[INFO][Python]v3.8.3(默认,2020年5月27日02:08:17) [GCC 9.3.0]
[INFO][Python]解释器位于“/data/user/0/ru.iiec.pydroid3/files/aarch64 linux-android/bin/python3”
[INFO][Logger]已激发清除日志。分析…
[INFO][Logger]清除15个日志文件
[INFO][Logger]清除完成
[INFO][KivyMD]v0.104.1
[信息][工厂]加载了184个符号
[信息][图像]提供商:img_-tex、img_-dds、img_-sdl2、img_-pil、img_-gif(img_-ffpyplayer忽略)
[信息][窗口]提供商:sdl2
[信息][GL]使用“OpenGL ES 2”图形系统
[信息][GL]已使用后端
[信息][GL]OpenGL版本
[信息][GL]OpenGL供应商
[INFO][GL]OpenGL渲染器
[INFO][GL]OpenGL解析版本:3,2
[信息][GL]纹理最大大小
[信息][GL]纹理最大单位
[信息][窗口]自动添加sdl2输入提供程序
[信息][窗口]不允许使用虚拟键盘,单模,未对接 [信息][文本]提供商:sdl2 [INFO][GL]提供NPOT纹理支持 [信息]应用程序启动 [INFO]主电源,千伏负载 [信息]安全性。千伏负载 [警告][Base]未知提供程序 [INFO][Base]启动应用程序主循环 [INFO][Base]正在退出应用程序

回溯(最近一次呼叫最后一次):
文件“/storage/emulated/0/@tsmile/projects/pro_two/main.py”,第36行,在
Project().run()

文件“/data/user/0/ru.iiec.pydroid3/files/aarch64 linux-android/lib/python3.8/site-packages/kivy/app.py”,第855行,运行中
runTouchApp()

runTouchApp中的文件“/data/user/0/ru.iiec.pydroid3/files/aarch64 linux android/lib/python3.8/site packages/kivy/base.py”,第504行
EventLoop.window.mainloop()

文件“/data/user/0/ru.iiec.pydroid3/files/aarch64 linux android/lib/python3.8/site packages/kivy/core/window/window_sdl2.py”,第747行,在mainloop
self._mainloop()

文件“/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.8/site-packages/kivy/core/window/window\u-sdl2.py”,第479行,在mainloop
EventLoop.idle()

文件“/data/user/0/ru.iiec.pydroid3/files/aarch64 linux-android/lib/python3.8/site-packages/kivy/base.py”,第339行,空闲
时钟滴答作响 文件“/data/user/0/ru.iiec.pydroid3/files/aarch64 linux-android/lib/python3.8/site-packages/kivy/clock.py”,第591行,勾号 self.\u进程\u事件() 文件“kivy/_clock.pyx”,第384行,在kivy.\u clock.CyClockBase.\u process\u事件中 文件“kivy/_clock.pyx”,第414行,在kivy.\u clock.CyClockBase.\u process\u事件中 文件“kivy/_clock.pyx”,第412行,在kivy.\u clock.CyClockBase.\u process\u事件中 文件“kivy/_clock.pyx”,第154行,在kivy._clock.ClockEvent.tick中 文件“kivy/_clock.pyx”,第86行,在kivy.\u clock.ClockEvent.get\u回调中 文件“/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.8/site-packages/kivy/weakmethod.py”,第56行,in is_dead 返回self.proxy不是None也不是bool(dir(self.proxy))

ReferenceError:弱引用对象不再存在

我得到了一个参考错误,它是这样说的

弱引用对象不存在

有人能建议我如何将MDTextField添加到MDGridLayout中吗


另外,请告诉我为什么会出现这种错误。

我对您的布局做了一些修改,以考虑您的意愿。.py保持不变,更新后的.kv如下:

Screen:
MDBoxLayout:
    orientation:'vertical'
    md_bg_color:1,0,0,1
    MDToolbar:
        pos_hint_y: 0
    GridLayout:
        cols:1
        adaptive_height: True
        MDLabel:
            text:'Manic'
            halign:'center'
        BoxLayout:
            cols: 2
            rows: 1

            MDLabel:
                halign:'center'
                size_hint_y: 0.4
                size_hint_x: 0.3

            MDTextFieldRect:
                size_hint_y: 0.4
            MDFlatButton:
                text: "Test"
                md_bg_color: 1,1,0,1
                size_hint_y: 0.4
                size_hint_x: 0.3
        MDLabel:
            halign:'center'
            size_hint_y: 0.2
对于弱引用对象:


弱引用在基本级别上是对对象的引用,该对象将被垃圾收集删除。如果您想了解更多信息,我建议您在帖子上查看@AlexMartelli的详细答案。

非常感谢,现在一切正常。但我仍然需要更多地了解弱参考误差。
Screen:
MDBoxLayout:
    orientation:'vertical'
    md_bg_color:1,0,0,1
    MDToolbar:
        pos_hint_y: 0
    GridLayout:
        cols:1
        adaptive_height: True
        MDLabel:
            text:'Manic'
            halign:'center'
        BoxLayout:
            cols: 2
            rows: 1

            MDLabel:
                halign:'center'
                size_hint_y: 0.4
                size_hint_x: 0.3

            MDTextFieldRect:
                size_hint_y: 0.4
            MDFlatButton:
                text: "Test"
                md_bg_color: 1,1,0,1
                size_hint_y: 0.4
                size_hint_x: 0.3
        MDLabel:
            halign:'center'
            size_hint_y: 0.2