【发布时间】:2018-02-17 21:28:27
【问题描述】:
我已经搜索和搜索,但我就是不明白。根据我从发布的答案中了解到的情况,问题是该类没有定义或拼写错误,但我在我的代码中来回走动,我看不到问题所在。现在我只是想获得没有功能的布局。我有两个文件,.py和.kv文件,主要的.py是:
import kivy
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
class Noughtsandcrosses(Widget):
pass
class nandxApp(App):
def build(self):
return Noughtsandcrosses()
if __name__ == "__main__":
nandxApp().run()
.kv 文件是:
#:kivy 1.0
<Noughtsandcrosses>:
orientation: 'vertical'
size: self.size
Threebythreeone:
orientation: 'horizontal'
Button:
Image:
source: "blank.png"
size: 100, 100
运行 .py 文件这是我得到的错误:
Traceback (most recent call last):
File "nandx.py", line 24, in <module>
nandxApp().run()
File "C:\Users\Rayne\AppData\Local\Programs\Python\Python36-32\lib\site-packages\kivy\app.py", line 802, in run
root = self.build()
File "nandx.py", line 21, in build
return Noughtsandcrosses()
File "C:\Users\Rayne\AppData\Local\Programs\Python\Python36-32\lib\site-packages\kivy\uix\widget.py", line 345, in __init__
Builder.apply(self, ignored_consts=self._kwargs_applied_init)
File "C:\Users\Rayne\AppData\Local\Programs\Python\Python36-32\lib\site-packages\kivy\lang\builder.py", line 451, in apply
self._apply_rule(widget, rule, rule, ignored_consts=ignored_consts)
File "C:\Users\Rayne\AppData\Local\Programs\Python\Python36-32\lib\site-packages\kivy\lang\builder.py", line 526, in _apply_rule
cls = Factory_get(cname)
File "C:\Users\Rayne\AppData\Local\Programs\Python\Python36-32\lib\site-packages\kivy\factory.py", line 131, in __getattr__
raise FactoryException('Unknown class <%s>' % name)
kivy.factory.FactoryException: Unknown class <Threebythreeone>
我正在努力学习 kivy,但是遇到这样的随机错误真是令人沮丧,谁能指出我做错了什么。
【问题讨论】:
-
我没有使用 kivy 的经验,我只是阅读了一些 .kv 语言的文档。你的
Threebythreeone类的定义在哪里?