未检测到Pyglet on_mouse_click

时间:2018-02-19 02:01:37

标签: python python-3.x pyglet

我是Pyglet的新手,但之前我曾与Pygame和JFrames混淆过。我在使用Pyglet的on_mouse_click()事件时遇到了麻烦。它似乎永远不会被调用,尽管所有其他事件(包括on_mouse_release和on_mouse_drag)。我记录了所有事件,因此它显示了每个发生的事件。

以下是我正在做的简化版本:

import pyglet

window = pyglet.window.Window(width=640, height=480)
window.push_handlers(pyglet.window.event.WindowEventLogger())

label = pyglet.text.Label("Hello world", font_name="Times New Roman" ,
                          font_size=36, x=window.width // 2, y=window.height // 2, 
                          anchor_x="center, anchor_y="center")
@window.event
def on_mouse_press(x,y,button,mod):
    print("Button Pressed")

pyglet.app.run()

我的版本是python 3.6。我正在使用PyCharm IDE(我也通过cmd测试过),Pyglet 1.3.1,我正在使用Windows 10

2 个答案:

答案 0 :(得分:3)

我在pyglet版本1.3.1中遇到了同样的问题,除了on_mouse_press()方法之外一切正常,所以我降级到1.3.0版本,现在一切正常。您可以使用pip指定要安装的版本:

pip install pyglet==1.3.0

答案 1 :(得分:1)

1.3.2没有这个问题。因此,此时您可以升级pyglet版本。