gpt4 book ai didi

python - Kivy 未检测到目录中的文件

转载 作者:行者123 更新时间:2023-12-02 05:17:43 26 4
gpt4 key购买 nike

我一直在尝试用 kivy 构建一些东西,但是每当我尝试在目录中加载不同的东西时,它说在目录中找不到该程序,而我确定它在那里。下面是两个程序的代码和错误。程序(main.py 和 pong.kv)都在 Windows(C:)的目录 pong_directory.py 中。非常感谢任何反馈。

主要.py:

from kivy.app import App
from kivy.uix.widget import Widget


class pongGame(Widget):
pass


class pongApp(App):
def build(self):
return pongGame()


if __name__ == '__main__':
pongApp().run()

pong.kv:

#:kivy 1.8.0

<PongGame>:
canvas:
Rectangle:
pos: self.center_x - 5, 0
size: 10, self.height

Label:
font_size: 70
center_x: root.width / 4
top: root.top - 50
text: "0"

Label:
font_size: 70
center_x: root.width * 3 / 4
top: root.top - 50
text: "0"

错误:

[INFO              ] Kivy v1.8.0
[INFO ] [Logger ] Record log in C:\Users\rabbitrabbit\.kivy\logs\kivy_14-08-22_21.txt
[INFO ] [Factory ] 157 symbols loaded
[DEBUG ] [Cache ] register <kv.lang> with limit=None, timeout=Nones
[DEBUG ] [Cache ] register <kv.image> with limit=None, timeout=60s
[DEBUG ] [Cache ] register <kv.atlas> with limit=None, timeout=Nones
[INFO ] [Image ] Providers: img_tex, img_dds, img_pygame, img_gif (img_pil ignored)
[DEBUG ] [Cache ] register <kv.texture> with limit=1000, timeout=60s
[DEBUG ] [Cache ] register <kv.shader> with limit=1000, timeout=3600s
[DEBUG ] [App ] Loading kv <C:\pong_directory.py\pong.kv>
[DEBUG ] [App ] kv <C:\pong_directory.py\pong.kv> not found
[DEBUG ] [Window ] Ignored <egl_rpi> (import error)
[INFO ] [Window ] Provider: pygame(['window_egl_rpi'] ignored)
[DEBUG ] [Window ] Display driver windib
[DEBUG ] [Window ] Actual window size: 800x600
[DEBUG ] [Window ] Actual color bits r8 g8 b8 a0
[DEBUG ] [Window ] Actual depth bits: 24
[DEBUG ] [Window ] Actual stencil bits: 8
[DEBUG ] [Window ] Actual multisampling samples: 2
GLEW initialization succeeded
[INFO ] [GL ] OpenGL version <b'2.1.2'>
[INFO ] [GL ] OpenGL vendor <b'NVIDIA Corporation'>
[INFO ] [GL ] OpenGL renderer <b'Quadro NVS 110M/PCI/SSE2'>
[INFO ] [GL ] OpenGL parsed version: 2, 1
[INFO ] [GL ] Shading version <b'1.20 NVIDIA via Cg compiler'>
[INFO ] [GL ] Texture max size <4096>
[INFO ] [GL ] Texture max units <16>
[DEBUG ] [Shader ] Fragment compiled successfully
[DEBUG ] [Shader ] Vertex compiled successfully
[DEBUG ] [ImagePygame ] Load <C:\Python33\lib\site-packages\kivy\data\glsl\default.png>
[INFO ] [Window ] virtual keyboard not allowed, single mode, not docked
[INFO ] [OSC ] using <thread> for socket
[DEBUG ] [Base ] Create provider from mouse
[DEBUG ] [Base ] Create provider from wm_touch
[DEBUG ] [Base ] Create provider from wm_pen
[INFO ] [Base ] Start application main loop

如您所见,它说在 pong_directory.py 中找不到 pong.kv,而我确定它在那里。如果有人知道发生了什么,我将不胜感激。

编辑:在尝试了 inclement 建议之后,程序仍然有相同的最终结果,但是在 shell 中有一个新的错误:

[DEBUG             ] [App         ] kv <C:\pong_directory\pong.kv> not found
[DEBUG ] [Window ] Ignored <egl_rpi> (import error)
[INFO ] [Window ] Provider: pygame(['window_egl_rpi'] ignored)
[DEBUG ] [Window ] Display driver windib

我不确定是不是图形问题,但是我在SE( Kivy-python: error while running Hello world ) 上发现了类似错误的问题,但另一个问题仍然存在。如果有人知道反馈是怎么回事,我们将不胜感激。

编辑:在添加“import kivy”和“kivy.require('1.8.0')”之后,pong.kv 仍然被忽略。

最佳答案

不是直接的答案,而是一个可能的解决方法:

from kivy.lang import Builder

Builder.load_file('./my_custom_file.kv')

或者,您可以尝试手动加载字符串并完全忘记(删除)kv 文件。

from kivy.lang import Builder

Builder.load_string('''
<PongGame>:
canvas:
Rectangle:
pos: self.center_x - 5, 0
size: 10, self.height

Label:
font_size: 70
center_x: root.width / 4
top: root.top - 50
text: "0"

Label:
font_size: 70
center_x: root.width * 3 / 4
top: root.top - 50
text: "0"
''')

如果您想继续使用 pong.kv 文件,我还建议将主应用程序类重命名为 PongApp。我不确定它是否有任何效果,但值得一试。

关于python - Kivy 未检测到目录中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25457606/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com