python 中键盘模块的奇怪错误

我正在使用 Windows 10,Python 3.7.9 我的代码:


在 Main.py 中:


from kivy.app import App

from kivy.uix.widget import Widget



class MyGrid(Widget):

    pass



class Main(Widget):

    def build(self):

        return Main()



if __name__ == "__main__":

    Main().run()

在main.kv中:


<Main>

    GridLayout:

        cols:1


        GidLayout:

            cols:2


            Label:

                text: "Name: "


            TextInput:

                multiline:False


            Label:

                texxt: "Email: "

            

            TextInput:

                multiline:False


        Button:

            text:"Submit"

错误(1):


在 .py 文件中,“Main().run()”中的“Main”带有下划线:


Instance of 'Main' has no 'run' member

错误(2):


在 .kv 文件中,'' 带有下划线:


Kivy files require #:Kivy

我不知道如何修复,非常感谢任何帮助


开心每一天1111
浏览 91回答 2
2回答

LEATH

我看到两个错误,一个在 kv 代码中,第二个在 python 代码中。在 kv 代码中将 更改<Main>为<MyGrid>。MyGrid 类是根小部件,而不是 Main 类。Main类只负责构建widget树。在 python 代码中,更改 Main 类中 build 方法的返回,以便它返回 MyGrid 实例。并且Main应该继承自App类,而不是继承自Widget类。class Main(App):&nbsp; &nbsp; def build(self):&nbsp; &nbsp; &nbsp; &nbsp; return MyGrid()

慕娘9325324

根据文档,一个kv文件:kv 文件的语法 Kivy 语言文件必须以 .kv 作为文件扩展名。文件的内容应始终以 Kivy 标头开头,其中 version 必须替换为您正在使用的 Kivy 语言版本。现在,使用 1.0:#:kivy&nbsp;`1.0` #&nbsp;content&nbsp;here然后,在你的py文件中。申请必须App延期Widget。此外,该build()方法必须返回 a&nbsp;Widget,而不是 的实例App。而且,如果您的App名称为Main,那么您应该为App.文件中的规则kv描述了如何构建小部件,并且不能应用于构建App.&nbsp;它们可以描述 的根小部件的构建App,但不能描述其App本身。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python