我目前正在开发一个用户界面,我遇到了以下问题——鼠标右键被点击时会出现一个上下文菜单——当我在Windows中运行界面时,它工作得非常好,但当我在Linux中运行它并尝试单击鼠标右键时,菜单会很快消失,我只能如果我在选择需要的选项时手指放在按钮上,然后用左键小心按下按钮,就可以使用它。下面是我用于右键单击菜单的代码:def rClicker(e):
try:
def rClick_Select(e,apnd=0):
e.widget.event_generate('')
def rClick_Copy(e):
e.widget.event_generate('')
def rClick_Cut(e):
e.widget.event_generate('')
def rClick_Paste(e):
e.widget.event_generate('')
e.widget.focus()
def rClick_Undo(e):
e.widget.event_generate('')
def rClick_Redo(e):
e.widget.event_generate('')
nclst=[
(' Cut ', lambda e=e: rClick_Cut(e)),
(' Copy ', lambda e=e: rClick_Copy(e)),
(' Paste ', lambda e=e: rClick_Paste(e)),
(' Undo ', lambda e=e: rClick_Undo(e)),
(' Redo ', lambda e=e: rClick_Redo(e)),
(' Select All ', lambda e=e: rClick_Select(e))
]
rmenu = Menu(None, tearoff=0, takefocus=0)
for (txt, cmd) in nclst:
rmenu.add_command(label=txt, command=cmd)
rmenu.tk_popup(e.x_root+40, e.y_root+10,entry="0")
except TclError:
print ' - rClick menu, something wrong'
pass
return "break"
定义rClickbinder(r):
^{pr2}$