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

2 投票
1 回答
4985 浏览
提问于 2025-04-16 08:56

我正在尝试使用graphics.py来编写一个用户图形界面。我的问题是,如何捕捉到右键点击的事件?看起来getMouse()这个函数只能返回鼠标左键点击的位置,作为一个点对象。

    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 个回答

1

我建议你试试 TkInter 来制作Python的图形用户界面(GUI)。

下面是一个示例,演示如何检测右键点击:

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()

撰写回答