为什么不允许 Pygame 上的拖放事件?

Why is a Drag and Drop event on Pygame not allowed?

我有一个简单的Pygame显示:

pygame.init()
screen = pygame.display.set_mode((1024, 576))
clock = pygame.time.Clock()
while True:
    for event in pygame.event.get():  # to handle clicks on the screen (prevent crash)
        if event.type == pygame.QUIT:
            pygame.display.quit()
        if event.type == pygame.DROPFILE:
            path = event.file
            print(path)
    pygame.display.update()

我目前正在测试“放置文件”事件,以便在我正在处理的项目中使用它。不幸的是,当我将文件拖到屏幕上时,光标变成了“不允许”的标志,当我放下文件时没有任何反应。为什么会这样?

在不对您的代码进行太多更改(添加 'import pygame')的情况下,它对我也不起作用。我丢了一个文件,然后我发生了同样的事情,你也发生了同样的事情。我也是这么想的

我首先尝试了 Python 3.8.6 和 Pygame 1.9.6。然后我想起来,我还有另一个安装的 Python 3.9.1 和 Pygame 版本 2.0.0.

第二种组合对我有用。我不知道最后是哪一部分有所不同,但我认为他们为 pygame 2.0.0 做了很多工作,所以请尝试一下。

这对我有用 Windows 10.