提问人:DR4NKR1D3R 提问时间:7/27/2022 最后编辑:DR4NKR1D3R 更新时间:7/27/2022 访问量:193
Kivy 基础知识问题(prolly .kv 文件)
Problem with basics of Kivy (prolly .kv file)
问:
你们能看看我的python/kivy代码吗?
main.py(复制自视频教程):
from kivy.app import App
from kivy.uix.widget import Widget
class MainWidget(Widget):
pass
class TheLabApp(App):
pass
TheLabApp().run()
thelab.kv:
#:kivy ! 2.1.0
MainWidget:
<MainWidget>:
Button:
text: "Hello"
size: "200dp", "100dp"
pos: "100dp", "200dp"
运行此代码最终会得到不同的结果。有时它会编译返回空窗口,有时它最终会出现以下(或类似)错误:
Traceback (most recent call last):
File "c:\Users\klaud\Documents\Studia\A Python\test\main.py", line 10, in <module>
TheLabApp().run()
File "C:\Users\klaud\AppData\Roaming\Python\Python310\site-packages\kivy\app.py", line 954, in run
self._run_prepare()
File "C:\Users\klaud\AppData\Roaming\Python\Python310\site-packages\kivy\app.py", line 923, in _run_prepare
self.load_kv(filename=self.kv_file)
File "C:\Users\klaud\AppData\Roaming\Python\Python310\site-packages\kivy\app.py", line 696, in load_kv
root = Builder.load_file(rfilename)
File "C:\Users\klaud\AppData\Roaming\Python\Python310\site-packages\kivy\lang\builder.py", line 305, in load_file
return self.load_string(data, **kwargs)
File "C:\Users\klaud\AppData\Roaming\Python\Python310\site-packages\kivy\lang\builder.py", line 372, in load_string
parser = Parser(content=string, filename=fn)
File "C:\Users\klaud\AppData\Roaming\Python\Python310\site-packages\kivy\lang\parser.py", line 483, in __init__
self.parse(content)
File "C:\Users\klaud\AppData\Roaming\Python\Python310\site-packages\kivy\lang\parser.py", line 590, in parse
self.execute_directives()
File "C:\Users\klaud\AppData\Roaming\Python\Python310\site-packages\kivy\lang\parser.py", line 569, in execute_directives
raise ParserException(self, ln, 'Unknown directive')
kivy.lang.parser.ParserException: Parser: File "c:\Users\klaud\Documents\Studia\A Python\test\thelab.kv", line 1:
...
>> 1:#:kivy
2:
3:MainWidget:
...
Unknown directive
代码是从 yt 复制的,在那里它工作得很好。你有什么想法吗?
答:
0赞
MattDMo
7/27/2022
#1
根据文档,文件的第一行应该是.kv
#:kivy `1.0`
您支持的最低版本在哪里,或者只是您当前使用的版本。我有 2.1.0 版本,所以我的标题行是1.0
#:kivy 2.1.0
没有 .这对我来说效果很好。!
完全删除标题也有效。
评论
0赞
DR4NKR1D3R
7/27/2022
删除“!”后没有变化。我应该重新安装kivy吗?
0赞
MattDMo
7/27/2022
@DR4NKR1D3R确定使用的是 2.1.0 版本?试着放在那里,看看是否有效。如果没有,您当然可以尝试卸载并重新安装。1.0
0赞
DR4NKR1D3R
7/27/2022
现在没事了。我认为 VS 代码是一个问题。
评论
{}
.kv