[英]How to fix [CRITICAL] App.root must be an _instance_ of Widget
[英]App.root must be an _instance_ of Widget. Invalid instance in App.root
我不是 python 的新手,但我不是很了解它嗎,但我是 Kivy 的新手。這只是我做的一件小事,只是為了從某個地方開始。 我在 Visual Studio 代碼 (VSC) 中工作。 Python 版本 3.10。 這個想法是:有 5 個按鈕,每個按鈕都有一個名稱,當你點擊一個按鈕時,圖像(meme)應該出現。 這是完整的代碼、終端、調試器以及命令提示符中的內容:
代碼代碼
終端終端
調試器調試器
命令提示符命令提示符
這是 python 本身和文件夾“Projects” C:\Users\Кирилл\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Python 3.10在此處輸入圖像描述
這是帶有虛擬環境 (App_EPQ) 的文件夾和帶有代碼 (App_code) 的文件夾C:\Users\Кирилл\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Python 3.10\Projects enter image description here
提前致謝
試圖重寫代碼,但沒有奏效。 試圖找到有類似問題的人也沒有運氣。 不知道下一步該做什么以及如何解決它,所以這是我最后的希望。
您的 class 必須繼承布局和 App:
class HBoxLayoutExample(BoxLayout, App)
另一種方法是創建一個 class 來構建應用程序並返回布局:
class HBoxLayoutExample(BoxLayout)
**your code**
class HBoxApp(App):
def build(self):
return HBoxLayoutExample
if __name__ == '__main__':
HBoxApp().run()
如此處所示https://kivy.org/doc/stable/guide/lang.html#designing-with-the-kivy-language
替換你的行:
return layout, button
和:
return layout
就這樣。 build()
方法必須返回一個小部件,在您的情況下是 BoxLayout 實例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.