首页 > 解决方案 > Kivy module in python

问题描述

When I was trying to use grid layout, it shows errors when I try to use more widgets but with one widget it shows no errors,I have reviewed the codes many times but i didn't find any solutions,and by the way I'm using python 3.7 and kivy version 2 Here's my code:

    import kivy
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.gridlayout import GridLayout
from kivy.uix.textinput import TextInput


class My_Grid(GridLayout):
    def __init__(self, **kwargs):
        super(My_Grid, self).__init__(**kwargs)
        self.cols = 4
        self.rows = 3
        self.add_widget(Label(text="First Name: "))
        self.FirstName = TextInput(multiline=False)
        self.add_widget(self.FirstName)

        self.add_widget(Label(text="Last Name: "))
        self.LastName = TextInput(mulyiline=False)
        self.add_widget(self.LastName)
        self.add_widget(Label(text="email: "))
        self.Email = TextInput(mulyiline=False)
        self.add_widget(self.Email)



class TestApp(App):
    def build(self):
        return My_Grid()


if __name__ == "__main__":
    TestApp().run()

the errors when i use more widgets:


 Traceback (most recent call last):
   File "C:/Users/Asus/PycharmProjects/untitled3/my.py", line 29, in <module>
     TestApp().run()
   File "C:\Users\Asus\PycharmProjects\untitled3\venv\lib\site-packages\kivy\app.py", line 829, in run
     root = self.build()
   File "C:/Users/Asus/PycharmProjects/untitled3/my.py", line 25, in build
     return My_Grid()
   File "C:/Users/Asus/PycharmProjects/untitled3/my.py", line 18, in __init__
     self.LastName = TextInput(mulyiline=False)
   File "C:\Users\Asus\PycharmProjects\untitled3\venv\lib\site-packages\kivy\uix\textinput.py", line 527, in __init__
     super(TextInput, self).__init__(**kwargs)
   File "C:\Users\Asus\PycharmProjects\untitled3\venv\lib\site-packages\kivy\uix\behaviors\focus.py", line 367, in __init__
     super(FocusBehavior, self).__init__(**kwargs)
   File "C:\Users\Asus\PycharmProjects\untitled3\venv\lib\site-packages\kivy\uix\widget.py", line 350, in __init__
     super(Widget, self).__init__(**kwargs)
   File "kivy\_event.pyx", line 243, in kivy._event.EventDispatcher.__init__
 TypeError: object.__init__() takes exactly one argument (the instance to initialize)

Process finished with exit code 1

标签: pythonpython-3.xopenglwidgetkivy

解决方案


起初,您在 self.LastName 和 self.Email 中的“多行”一词有误。尝试解决这个问题。


推荐阅读