【问题标题】:AttributeError: 'kivy.properties.ObjectProperty' object has no attribute 'manager1'AttributeError:“kivy.properties.ObjectProperty”对象没有属性“manager1”
【发布时间】:2021-10-26 06:23:19
【问题描述】:

我收到一个错误:

属性错误:当我尝试使用它们各自的 ID 切换到另一个屏幕时,“kivy.properties.ObjectProperty”对象没有属性“manager1”。

这是我的代码:

Python 文件:

  • First_Screen() 类中
My2App.first.manager1.current = "start"   #"start" is the name of First_Screen()
  • 这是我的My2App 课程
class My2App(MDApp):
    manager1 = ObjectProperty(None)
    first = ObjectProperty(None)
    second = ObjectProperty(None)
        
    def build(self):
        self.bd = Builder.load_file("My.kv")
        return self.bd

kv 文件:

ScreenManager:
    manager1:manager1
    id:manager1

    First_Screen:
        first:first
        id:first
    Show_Title:
        second:second
        id:second

<First_Screen>:
    name:'start'

    # rest of the content.....

我不明白缺少什么。
感谢您提前帮助我。

【问题讨论】:

    标签: python kivy kivymd


    【解决方案1】:

    如果我复制/粘贴您的代码,它将不起作用。我必须在有工作代码或出现您所说的错误之前更改倍数。 所以这是一个工作代码。

    from kivy.lang import Builder
    from kivymd.app import MDApp
    
    class My2App(MDApp):
        def build(self):
            self.bd = Builder.load_file("My.kv")
            return self.bd
    
    My2App().run()
    
    <First_Screen>:
    
    
    ScreenManager:
        id:manager1
    
        Screen:
            id:first
            name:'start'
    
        Screen:
            id:second
            second:second
    
    
    
        # rest of the content.....
    

    【讨论】:

    • 我的代码有上千个代码,我把我的部分代码分享给你,这样你就不会糊涂了,不用复制粘贴重试
    • 我的应用程序有数万行代码,但我仍然发布工作示例。如果您无法创建一个有效的 mvp 并隔离问题,那么您必须先自己解决问题,然后再提出问题。我过去曾因发布比此更明确的帖子而被禁止。我可能很残忍,但这就是它的工作原理,你会改进并理解我的意思,但目前,这篇文章还不够好,因为我不得不打发时间只是为了获得一个可行的例子或让你提到的错误出现.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-27
    • 2020-10-04
    • 2012-12-01
    • 2021-04-19
    • 2021-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多