如何在运行代码时修复此错误消息?

时间:2017-09-28 01:30:08

标签: python-3.x pycharm kivy

尝试在PyCharm中运行我的代码时收到此错误消息。我不确定我是否安装了错误的东西,有人可以帮忙吗?

sdl2 - ImportError: DLL load failed: The specified module could not be found.
File "C:\Users\Donovan Preston\AppData\Local\Programs\Python\Python36-32\lib\site-packages\kivy\core\__init__.py", line 59, in core_select_lib
    fromlist=[modulename], level=0)
File "C:\Users\Donovan Preston\AppData\Local\Programs\Python\Python36-32\lib\site-packages\kivy\core\window\window_sdl2.py", line 26, in <module>
    from kivy.core.window._window_sdl2 import _WindowSDL2Storage

 [CRITICAL] [App         ] Unable to get a Window, abort.

这是我试图在PyCharm中运行的代码。

import kivy
from kivy.app import App
from kivy.uix.dropdown import DropDown
from kivy.uix.floatlayout import FloatLayout
from kivy.config import Config


class SubMenu(DropDown):
    pass


class MainMenu(FloatLayout):

    def display_selected_submenu(self, instance, x):
        print("Page " + x)


class TestApp(App):
    title = "Kivy Drop-Down List Demo"
    Config.set("graphics", "width", "800")
    Config.set("graphics", "height", "480")

    def build(self):
        return MainMenu()

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

1 个答案:

答案 0 :(得分:0)

我在PyCharm Community Edition 2017.2,Windows 10,Python 3.6.2和Kivy 1.10.0上运行示例没有问题 你安装了依赖项吗? 如果没有,请执行以下操作:

python -m pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glew

实施例

main.py

from kivy.app import App
from kivy.uix.dropdown import DropDown
from kivy.uix.floatlayout import FloatLayout
from kivy.config import Config


class SubMenu(DropDown):
    pass


class MainMenu(FloatLayout):

    def display_selected_submenu(self, instance, x):
        print("Page " + x)


class TestApp(App):
    title = "Kivy Drop-Down List Demo"
    Config.set("graphics", "width", "800")
    Config.set("graphics", "height", "480")

    def build(self):
        return MainMenu()


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

test.kv

#:kivy 1.10.0
#:import Factory kivy.factory.Factory

<CustomButton@Button>:
    size_hint_y: None
    height: 40
    font_size: 18


<SubMenu>:
    on_select: app.root.display_selected_submenu(self, args[1])

    CustomButton:
        id: button1
        text: 'Open'
        txt: "1"
        on_release: root.select(self.txt)

    CustomButton:
        id: button2
        text: 'Save'
        txt: "2"
        on_release: root.select(self.txt)

    CustomButton:
        id: button3
        text: 'Exit'
        txt: "3"
        on_release: root.select(self.txt)

<MainMenu>:
    canvas.before:
        Color:
            rgba: 0.5, 0.5, 0.5, 0.5
        Rectangle:
            pos: 0,0
            size: self.width, self.height

    Button:
        id: mainbutton
        text: "File Menu"
        font_size: 20
        size_hint: None, None
        size: 150, 50
        top: root.top
        on_release: Factory.SubMenu().open(self)

输出

enter image description here