Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Kivy.factory.FactoryException:未知类,但I';I’我不用那门课_Python_Python 3.x_Pycharm_Kivy - Fatal编程技术网

Python Kivy.factory.FactoryException:未知类,但I';I’我不用那门课

Python Kivy.factory.FactoryException:未知类,但I';I’我不用那门课,python,python-3.x,pycharm,kivy,Python,Python 3.x,Pycharm,Kivy,当我试着运行我的程序时,我得到一个错误,说unknown class,但我的任何代码中都没有提到CreateAccountWindow。我正在Pycharm中处理一个新项目,我的旧项目有一个名为CreateAccountWindow的类……我想这一定是原因,但我不知道如何修复它 import kivy from kivy.app import App from kivy.properties import ObjectProperty, StringProperty from kivy.uix.

当我试着运行我的程序时,我得到一个错误,说unknown class
,但我的任何代码中都没有提到CreateAccountWindow。我正在Pycharm中处理一个新项目,我的旧项目有一个名为CreateAccountWindow的类……我想这一定是原因,但我不知道如何修复它

import kivy
from kivy.app import App
from kivy.properties import ObjectProperty, StringProperty
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.lang import Builder
from kivy.uix.popup import Popup
from kivy.uix.label import Label
from kivy.core.window import Window

class LoginWindow(Screen):
    pass

class WindowManager(ScreenManager):
    pass

kv = Builder.load_file("my.kv")
sm = WindowManager()

screens = [LoginWindow(name="login")]
for screen in screens:
    sm.add_widget(screen)

sm.current = "login"


class MyApp(App):

    def build(self):
        return sm


if __name__ == '__main__':
    MyApp().run()
kv文件:

WindowManager:
    LoginWindow:

<LoginWindow>:
WindowManager:
登录窗口:
:
回溯(最近一次呼叫最后一次):
文件“C:/Users/callu/OneDrive/Documents/TestApp/main.py”,第16行,在
kv=Builder.load_文件(“my.kv”)
文件“C:\Users\callu\AppData\Local\Programs\Python\Python37-32\lib\site packages\kivy\lang\builder.py”,第301行,在load\U文件中
返回self.load_字符串(数据,**kwargs)
文件“C:\Users\callu\AppData\Local\Programs\Python\Python37-32\lib\site packages\kivy\lang\builder.py”,第405行,加载字符串
规则\u子项=规则\u子项)
文件“C:\Users\callu\AppData\Local\Programs\Python\Python37-32\lib\site packages\kivy\lang\builder.py”,第616行,在应用规则中
cls=工厂获取(cname)
文件“C:\Users\callu\AppData\Local\Programs\Python\Python37-32\lib\site packages\kivy\factory.py”,第131行,位于\uu getattr__
引发FactoryException('未知类“%name”)
kivy.factory.FactoryException:未知类

我不知道kivy,但是,my.kv perphaps是否引用了您的旧类?这显然是Pycharm的路径和/或您的代码的某种问题,因此您需要在此基础上进行调试。首先,如果删除新应用程序中的所有代码,会发生这种情况吗?如果不是,哪行代码导致它开始发生?或者,即使新应用中没有代码,也会发生这种情况,这肯定纯粹是Pycharm实际运行的代码的问题。始终将完整的错误消息(从单词“Traceback”开始)作为文本(而不是屏幕截图)放在问题中(不是注释)。还有其他有用的信息。道歉,补充追踪。我还尝试从我的.kv文件中删除所有代码,但仍然得到相同的错误我已经删除了所有代码,仍然得到相同的错误消息,因此我在Pycharm中的设置肯定有问题,我是否应该以Pycharm为重点重新发布此问题?
Traceback (most recent call last):
   File "C:/Users/callu/OneDrive/Documents/TestApp/main.py", line 16, in <module>
     kv = Builder.load_file("my.kv")
   File "C:\Users\callu\AppData\Local\Programs\Python\Python37-32\lib\site-packages\kivy\lang\builder.py", line 301, in load_file
     return self.load_string(data, **kwargs)
   File "C:\Users\callu\AppData\Local\Programs\Python\Python37-32\lib\site-packages\kivy\lang\builder.py", line 405, in load_string
     rule_children=rule_children)
   File "C:\Users\callu\AppData\Local\Programs\Python\Python37-32\lib\site-packages\kivy\lang\builder.py", line 616, in _apply_rule
     cls = Factory_get(cname)
   File "C:\Users\callu\AppData\Local\Programs\Python\Python37-32\lib\site-packages\kivy\factory.py", line 131, in __getattr__
     raise FactoryException('Unknown class <%s>' % name)
 kivy.factory.FactoryException: Unknown class <CreateAccountWindow>