【问题标题】:Why is a Drag and Drop event on Pygame not allowed?为什么不允许 Pygame 上的拖放事件?
【发布时间】:2021-05-31 11:58:29
【问题描述】:

我有一个简单的 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()

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

【问题讨论】:

  • 代码对我有用。你在什么操作系统上? (我在windows10)
  • 我也在windows10。很奇怪,它可以在某些计算机上运行,​​但在其他计算机上却不行......
  • 你是什么pygame版本?
  • pygame 版本 1.9.6

标签: python pygame drag-and-drop


【解决方案1】:

如果不改变你的代码(添加'import pygame'),它对我也不起作用。我丢了一个文件,然后同样的事情发生在我身上,发生在你身上的事情。我就是这么想的。

我第一次尝试 Python 3.8.6 和 Pygame 1.9.6。然后我记起来了,我安装了另一个 Python 3.9.1 和 Pygame 2.0.0 版。

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

这适用于我在 Windows 10 上。

【讨论】:

  • 我尝试卸载然后重新安装 pygame(最终我安装了 Pygame 1.9.6...),现在使用 Pygame 2.0.1 可以完美运行!非常感谢! :)
猜你喜欢
  • 1970-01-01
  • 2019-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-23
  • 1970-01-01
相关资源
最近更新 更多