Python:计算和打印鼠标点击(Zelle的图形)

时间:2013-11-26 06:01:10

标签: python zelle-graphics

我试图弄清楚如何计算在窗口中点击鼠标的次数,以便设置金额限制。

我正在制作的是一个必须找到隐形圈的游戏,我希望不同的难度会影响您在输掉游戏之前允许的点击次数。但是我在计算鼠标点击时遇到了麻烦。

    def mouseClicks():
        global click
        click=click+1

我不确定如何将其设置为每次都检查win.getMouse。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

这里有一些非常简单的事情:

from graphics import *

def main():
    win = GraphWin("My Window", 100, 100)
    clickCounter = 0
    while clickCounter < 10:
        win.getMouse() # Pause to view result
        clickCounter += 1
        print clickCounter

main()

但这并不是真正有用,因为在点击鼠标之前调用win.getMouse()会暂停。

Zelle建立在Tkinter之上,但似乎抽象了事件驱动的编程。

但是你仍然可以利用Tkinter的力量:

from graphics import *

clickCounter = 0

def click(event):
    global clickCounter
    clickCounter += 1
    print clickCounter

def sillytask():
    print 'Just waiting around'
    global clickCounter
    if clickCounter >= 10:
        win.quit()
    else:
        win.after(1000, sillytask)

win = GraphWin("My Window", 100, 100)
win.bind('<Button-1>', click)
win.after(1000, sillytask)
win.mainloop()

这里我们bind点击回调函数。 sillytask表示主循环中的其他内容可以正在运行,click事件仍将触发。