【发布时间】:2016-10-29 16:01:24
【问题描述】:
应用代码:
from kivy.app import App
from kivy.lang import Builder
from kivy.factory import Factory
from kivy.uix.screenmanager import Screen
from kivy.uix.screenmanager import ScreenManager
from kivy.uix.screenmanager import FadeTransition<br/>
kv = '''
ScreenManagement:
transition: FadeTransition()
screen1:
screen2:
<screen1>:
name: 'one'
Button:
text: 'Hello!'
on_release: app.root.current = 'two'
<screen2>:
name: 'two'
Button:
text: 'Hello2'
on_release: app.root.current = 'one'
'''<br/>
class screen1(Screen):
pass
class screen2(Screen):
pass
class ScreenManagement(ScreenManager):
pass
class test23(App):
def build(self):
return Builder.load_string(kv)
<br/>
if __name__ == '__main__':
test23().run()
每次我执行它时,我都有以下回溯。它有什么问题?
runfile('/home/pc/python and kivy/test23.py', wdir='/home/pc/python and kivy')<br/>
Traceback (most recent call last):<br/>
File "<stdin>", line 1, in <module><br/>
File "/usr/lib/python2.7/dist-packages/spyderlib/widgets/externalshell/sitecustomize.py", line 699, in runfile<br/>
execfile(filename, namespace)<br/>
File "/usr/lib/python2.7/dist-packages/spyderlib/widgets/externalshell/sitecustomize.py", line 81, in execfile<br/>
builtins.execfile(filename, *where)<br/>
File "/home/pc/python and kivy/test23.py", line 42, in <module><br/>
test23().run()<br/>
File "/usr/lib/python2.7/dist-packages/kivy/app.py", line 802, in run
root = self.build()<br/>
File "/home/pc/python and kivy/test23.py", line 39, in build
return Builder.load_string(kv)<br/>
File "/usr/lib/python2.7/dist-packages/kivy/lang.py", line 1921, in load_string<br/>
self._apply_rule(widget, parser.root, parser.root)<br/>
File "/usr/lib/python2.7/dist-packages/kivy/lang.py", line 2130, in _apply_rule
e), cause=tb)<br/>
kivy.lang.BuilderException: Parser: File "<inline>", line 3:
..<br/>
1:<br/>
2:ScreenManagement:<br/>
>> 3: transition: FadeTransition()<br/>
4: screen1:<br/>
5: screen2:<br/>
..<br/>
BuilderException: Parser: File "<inline>", line 3:
..<br/>
1:<br/>
2:ScreenManagement:<br/>
>> 3: transition: FadeTransition()<br/>
4: screen1:<br/>
5: screen2:<br/>
..<br/>
NameError: name 'FadeTransition' is not defined<br/>
File "/usr/lib/python2.7/dist-packages/kivy/lang.py", line 1742, in create_handler<br/>
return eval(value, idmap), bound_list<br/>
File "<string>", line 3, in <module><br/><br/>
File "/usr/lib/python2.7/dist-packages/kivy/lang.py", line 2115, in _apply_rule
rctx['ids'])<br/>
File "/usr/lib/python2.7/dist-packages/kivy/lang.py", line 1747, in create_handler
cause=tb)<br/>
【问题讨论】:
-
这个问题目前还很不清楚,没有针对具体问题。尝试并解释到目前为止您为修复编译器引发的各种错误所做的尝试,以及您到底在哪里苦苦挣扎。
-
编辑问题并使用按钮
{}格式化代码。 -
@Sparky 问题不清楚,作者只是感到困惑,因为这是专门与框架相关的以框架自己的语言处理导入的方式。错误很明显 =
NameError: name <something> is not defined.
标签: python python-2.7 kivy kivy-language