如何在PyClutter中检测组上的事件?

2024-03-28 23:56:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在pycluster中检测组上的鼠标点击(和其他事件)。但它们似乎不会触发任何东西。以下是我所拥有的:

import clutter
col = clutter.Color(1, 0, 0)
r1 = clutter.Rectangle(col)
r2 = clutter.Rectangle(col)
r1.set_size(100, 50)
r2.set_size(50, 100)
r2.set_position(200, 200)
g = clutter.Group()
g.add(r1)
g.add(r2)
stage = clutter.Stage()
stage.add(g)
def onClickGroup(group, click):
    print "Group", click

g.connect("button-press-event", onClickGroup)
def onClickRect(rect, click):
    print "Rect", click

r1.connect("button-press-event", onClickRect)

def onClickStage(stage, click):
    print "Stage", click

stage.connect("button-press-event", onClickStage)
stage.show_all()

当我尝试运行它时,我唯一的输出是

>>> Stage <Button Press at 74, 31; button: 1; time: 49748777; source actor: ClutterStage at 0x0x8a21008>

因此,它没有从单个演员那里收集事件。有没有办法让个别演员或团体发现事件?你知道吗


Tags: adddefconnect事件buttoncolstageclick