为了账号安全,请及时绑定邮箱和手机立即绑定

python 中键盘模块的奇怪错误

python 中键盘模块的奇怪错误

开心每一天1111 2023-10-31 14:14:54
我正在使用 Windows 10,Python 3.7.9 我的代码:在 Main.py 中:from kivy.app import Appfrom kivy.uix.widget import Widgetclass MyGrid(Widget):    passclass 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我不知道如何修复,非常感谢任何帮助
查看完整描述

2 回答

?
LEATH

TA贡献1936条经验 获得超6个赞

我看到两个错误,一个在 kv 代码中,第二个在 python 代码中。


在 kv 代码中将 更改<Main>为<MyGrid>。MyGrid 类是根小部件,而不是 Main 类。Main类只负责构建widget树。


在 python 代码中,更改 Main 类中 build 方法的返回,以便它返回 MyGrid 实例。并且Main应该继承自App类,而不是继承自Widget类。


class Main(App):

    def build(self):

        return MyGrid()


查看完整回答
反对 回复 2023-10-31
?
慕娘9325324

TA贡献1783条经验 获得超4个赞

根据文档,一个kv文件:

kv 文件的语法 Kivy 语言文件必须以 .kv 作为文件扩展名。

文件的内容应始终以 Kivy 标头开头,其中 version 必须替换为您正在使用的 Kivy 语言版本。现在,使用 1.0:

#:kivy `1.0`
# content here

然后,在你的py文件中。申请必须App延期Widget。此外,该build()方法必须返回 a Widget,而不是 的实例App。而且,如果您的App名称为Main,那么您应该为App.

文件中的规则kv描述了如何构建小部件,并且不能应用于构建App. 它们可以描述 的根小部件的构建App,但不能描述其App本身。


查看完整回答
反对 回复 2023-10-31
  • 2 回答
  • 0 关注
  • 90 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信