Итак, я сейчас создаю приложение, в котором есть функция входа в систему, а также главное окно, в котором есть функция меню. Я столкнулся с проблемой с кодом при получении ошибки:
File "C:\Users\Muna Abdullahi\AppData\Local\Programs\Python\Python37-32\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 no arguments
Это мой код:
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.properties import ObjectProperty
from kivy.uix.popup import Popup
from kivy.uix.label import Label
from kivy.core.window import Window
from database import DataBase
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.widget import Widget
from kivy.config import Config
Window.clearcolor = (0.5294, 0, 0.3176, 0)
Config.set('kivy', 'keyboard_mode', 'systemandmulti')
class ForgotWindow(Screen):
namee = ObjectProperty(None)
email = ObjectProperty(None)
def VerificationBtn(self):
pass
def loginBtn(self):
sm.current = "login"
class CreateAccountWindow(Screen):
namee = ObjectProperty(None)
email = ObjectProperty(None)
password = ObjectProperty(None)
def submit(self):
if self.namee.text != "" and self.email.text != "" and self.email.text.count("@") == 1 and self.email.text.count(".") > 0:
if self.password != "":
db.add_user(self.email.text, self.password.text, self.namee.text)
self.reset()
sm.current = "login"
else:
invalidForm()
else:
invalidForm()
def login(self):
self.reset()
sm.current = "login"
def reset(self):
self.email.text = ""
self.password.text = ""
self.namee.text = ""
def createBtn(self):
self.reset()
sm.current = "create"
class LoginWindow(Screen):
email = ObjectProperty(None)
password = ObjectProperty(None)
def loginBtn(self):
if db.validate(self.email.text, self.password.text):
MainWindow.current = self.email.text
self.reset()
sm.current = "main"
else:
invalidLogin()
def createBtn(self):
self.reset()
sm.current = "create"
def forgot(self):
self.reset()
sm.current = "forgot"
def reset(self):
self.email.text = ""
self.password.text = ""
class MainWindow(BoxLayout):
pass
class Screen_One(Screen):
pass
class Screen_Two(Screen):
pass
class WindowManager(ScreenManager):
pass
def invalidLogin():
popup = Popup(title='Invalid Login',
content=Label(text='Invalid username or password.'),
size_hint=(None, None), size=(400, 400))
popup.open()
def invalidForm():
popup = Popup(title='Invalid Form',
content=Label(text='Please fill in all inputs with valid information.'),
size_hint=(None, None), size=(400, 400))
popup.open()
kv = Builder.load_file("my.kv")
sm = WindowManager()
db = DataBase("users.txt")
screens = [LoginWindow(name="login"),
CreateAccountWindow(name="create"),ForgotWindow(name="forgot"),
MainWindow(name="main"), Screen_One(name="Screen_One"),
Screen_Two(name="Screen_Two")]
for screen in screens:
sm.add_widget(screen)
sm.current = "login"
class MyMainApp(App):
def build(self):
return sm
if __name__ == "__main__":
MyMainApp().run() `
Если вам нужен мой файл kivy а также я могу это переслать.
Может кто-нибудь помочь мне с этим? Мне нужно, чтобы код был исправлен в ближайшее время, поскольку он является частью моего школьного проекта. Кроме того, если кто-нибудь может помочь мне с Киви, в целом, это было бы здорово, спасибо.