为什么不允许在 Pygame 上进行拖放事件?

问题描述

我有一个简单的 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”),它对我也不起作用。我丢了一个文件,然后同样的事情发生在我身上,你发生了什么事。我就是这么想的。

我首先在 Pygame 1.9.6 上尝试了 Python 3.8.6。然后我想起来,我有一个 Python 的其他安装版本,版本为 3.9.1,Pygame 版本为 2.0.0。

这第二种组合对我有用。我不知道最终是哪一部分产生了差异,但我认为他们为 pygame 2.0.0 做了很多工作,所以试试吧。

这在 Windows 10 上对我有用。