【发布时间】:2020-08-18 17:52:25
【问题描述】:
所以我正在编写我的第一个 python kivy 代码并遇到了这个问题。尝试搜索但不太明白如何解决它。你能更正我的代码并告诉我有什么问题吗?
import kivy
from kivy.app import App
from kivy.config import Config
from kivy.lang.builder import Builder
from kivy.uix.screenmanager import Screen, ScreenManager
Config.set('graphics', 'width', '400')
Config.set('graphics', 'height', '150')
kv = Builder.load_file("krxls.kv")
class LoginPage(Screen):
pass
class RegisterPage(Screen):
pass
class WindowManager(ScreenManager):
pass
class KrxLS(App):
def build(self):
return kv
if __name__ == "__main__":
KrxLS().run()
这是我的kv文件
WindowManager:
LoginPage:
RegisterPage:
<LoginPage>:
name: "lp"
GridLayout:
cols: 1
Label:
text: "Login!!"
GridLayout:
cols: 2
Label:
text: "Username"
TextInput:
multiline: "False"
Label:
text: "Password"
TextInput:
multiline: "False"
Button:
text: "Sign up"
on_release: app.root.current = "rp"
Button:
text: "Sign in!"
<RegisterPage>:
name: "rp"
GridLayout:
cols: 1
Label:
text: "Register!!"
GridLayout:
cols: 2
Label:
text: "Username"
TextInput:
multiline: "False"
Label:
text: "Password"
TextInput:
multiline: "False"
Button:
text: "Sign in"
on_release: app.root.current = "lp"
Button:
text: "Sign Up!"
我收到这个错误
Traceback (most recent call last):
File "/Users/randomman/PycharmProjects/Beginner/GUIDev/kivyGUI.py", line 12, in <module>
kv = Builder.load_file("krxls.kv")
File "/Users/randomman/PycharmProjects/Beginner/venv/lib/python3.7/site-packages/kivy/lang/builder.py", line 301, in load_file
return self.load_string(data, **kwargs)
File "/Users/randomman/PycharmProjects/Beginner/venv/lib/python3.7/site-packages/kivy/lang/builder.py", line 399, in load_string
widget = Factory.get(parser.root.name)(__no_builder=True)
File "/Users/randomman/PycharmProjects/Beginner/venv/lib/python3.7/site-packages/kivy/factory.py", line 131, in __getattr__
raise FactoryException('Unknown class <%s>' % name)
kivy.factory.FactoryException: Unknown class <WindowManager>
请帮忙!! 我正在通过 youtube vids 学习 kivy 并尝试关注它们,但我收到了这个错误...我已经在 google 中搜索了这个并没有找到合适的解决方案。
【问题讨论】:
-
这完全是猜测,但您的
.kv文件的第一行应该是<WindowManager>而不是WindowManager? -
您尚未定义
WindowManager类。 -
我在代码中将
WindowManager改为<WindowManager>,现在我面临这个错误[CRITICAL] [Application ] No window is created. Terminating application run.@MattDMo。对不起,您所说的“您尚未定义 WindowManager 类”是什么意思。因为我已经在 python 代码中创建了那个类。谢谢你的时间:) @JohnAnderson
标签: python python-3.x user-interface kivy kivy-language