我的问题
我试图在Windows 10的Python 3.7中使用Kivy 1.10.1,但是当我运行Kivy附带的任何示例程序(例如pong和"Hello world"示例)时,它们始终只显示仅包含纯色(通常为黑色)的窗口。否则,它们似乎起作用:没有错误出现,标题栏按钮起作用,可以在Python shell中打印鼠标单击的位置,等等。
我排除的内容
在Ubuntu上运行Kivy的类似问题在Ask Ubunto上收到了一个简短但可以接受的答案。通过安装ffmpeg可以解决OP的问题,但是我做到了,但并没有解决我的问题。
在Stack Overflow上解决了另一个与在Windows 10上运行Kivy相似的问题,方法是卸载Kivy及其依赖项,然后重新安装除gstreamer之外的所有内容。我也是这样做的,但并没有解决我的问题。
同样没有解决问题,我已经在Python 3.6.6以及3.7.0(32位和64位)上安装了Kivy。
我还尝试将系统环境变量中的KIVY_GL_BACKEND设置为Kivy的website上列出的每个可能的值,所有这些值都被设置,但是angle_sdl2失败了(引发“ Kivy Fatal Error”,说“最低要求的OpenGL版本(2.0)找不到!”,即使有更高版本可用。
作为对下面评论的回应,我将此question提交给Kivy的问题跟踪器,该问题在没有解决方案的情况下被关闭,但一般建议是我可能需要更新图形驱动程序。所以我也尝试过,但并没有解决我的问题。
为响应下面的另一条评论,我手动调整了窗口的大小,但这也不能解决我的问题。
问题示例
这是我运行的官方“ Hello world”示例模块。
import kivy
kivy.require('1.10.1')
from kivy.app import App
from kivy.uix.label import Label
class MyApp(App):
def build(self):
return Label(text='Hello world')
if __name__ == '__main__':
MyApp().run()
这是它产生的(无错误)日志:
[INFO ] [Logger ] Record log in C:\Users\Victor\.kivy\logs\kivy_18-08-31_1.txt
[INFO ] [Kivy ] v1.10.1
[INFO ] [Python ] v3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:06:47) [MSC v.1914 32 bit (Intel)]
[INFO ] [Factory ] 194 symbols loaded
[INFO ] [Image ] Providers: img_tex, img_dds, img_sdl2, img_gif (img_pil, img_ffpyplayer ignored)
[INFO ] [Text ] Provider: sdl2
[INFO ] [Window ] Provider: sdl2
[INFO ] [Window ] Activate GLES2/ANGLE context
[INFO ] [GL ] Using the "OpenGL" graphics system
[INFO ] [GL ] Backend used <angle_sdl2>
[INFO ] [GL ] OpenGL version <b"OpenGL ES 2.0 (ANGLE 2.1.0.b'')">
[INFO ] [GL ] OpenGL vendor <b'Google Inc.'>
[INFO ] [GL ] OpenGL renderer <b'ANGLE (Intel(R) HD Graphics 3000 Direct3D11 vs_4_1 ps_4_1)'>
[INFO ] [GL ] OpenGL parsed version: 2, 0
[INFO ] [GL ] Shading version <b"OpenGL ES GLSL ES 1.00 (ANGLE 2.1.0.b'')">
[INFO ] [GL ] Texture max size <8192>
[INFO ] [GL ] Texture max units <16>
[INFO ] [Window ] auto add sdl2 input provider
[INFO ] [Window ] virtual keyboard not allowed, single mode, not docked
[INFO ] [Base ] Start application main loop
[INFO ] [GL ] NPOT texture support is available
这是它显示的窗口。