如何使用getMouse()捕获右键单击事件

时间:2010-12-23 04:46:47

标签: python graphics

我正在尝试使用graphics.py来编写用户图形界面。问题是我如何捕获右键单击事件?似乎函数getMouse()只能返回左键单击鼠标作为Point对象的位置。

    from graphics import *
    def main():
        win = GraphWin("My Circle", 100, 100)
        c = Circle(Point(50,50), 10)
        c.draw(win)
        win.getMouse() # pause for click in window
        win.close()
     main()

我想知道如何在窗口中捕获右键单击事件,谢谢。

1 个答案:

答案 0 :(得分:0)

作业?请添加“家庭作业”标签。我建议您尝试使用TkInter进行python GUI。

使用TkInter,这是一个检测右键单击的示例:

from Tkinter import *


def showPosEvent(event):
    print 'Widget=%s X=%s Y=%s' % (event.widget, event.x, event.y)



def onRightClick(event):
    print 'Got right mouse button click:', 
    showPosEvent(event)


tkroot = Tk()
labelfont = ('courier', 20, 'bold')               
widget = Label(tkroot, text='Hello bind world')
widget.config(bg='red', font=labelfont)          
widget.config(height=5, width=20)                
widget.pack(expand=YES, fill=BOTH)

widget.bind('<Button-3>',  onRightClick)        


widget.focus()                                    
tkroot.title('Click Me')
tkroot.mainloop()