#python #tkinter #menu #popup #right-click
#python #tkinter #меню #всплывающее #щелкните правой кнопкой мыши
Вопрос:
У меня есть всплывающее меню, которое появляется, когда я щелкаю правой кнопкой мыши по виджету в tkinter
def popup(event):
self.popup_menu.tk_popup(event,x, event.y, 0)
popup_menu = tk.Menu(widget, tearoff=False)
popup_menu.add_command(label='whatever', command=lambda: print('whatever'))
...
bind('<Button-3>', popup)
Он появляется нормально, но команда выполняется даже при щелчке правой кнопкой мыши. Я хотел бы, чтобы команда выполнялась только при щелчке левой кнопкой мыши, чтобы предотвратить странное поведение при отпускании правой кнопки.
Я просмотрел параметры здесь, и в других местах не так много информации о всплывающих меню. Если кто-нибудь знает, как отключить щелчок правой кнопкой мыши или обойти всплывающее окно, где я могу контролировать подобные вещи.
РЕДАКТИРОВАТЬ: моя текущая работа заключается в привязке всплывающего окна к нажатию правой кнопки, поэтому выпуск не может вызвать событие. bind('<ButtonRelease-3>', popup)'
Комментарии:
1. Вы можете попробовать вызвать
unbind("<Button 3>")
popup
метод или создать флаг, чтобы игнорировать второй всплывающий вызов.2. Проблема заключается не в появлении другого всплывающего окна, а в том, что нажатие правой кнопки мыши на одну из кнопок меню