Я пытаюсь реализовать довольно простое перетаскивание, чтобы позволить пользователю щелкнуть ярлык и перетащить его текст на другой ярлык.
У меня есть кнопка вниз и перетащитьвсе работает хорошо, но я не могу понять, как определить, на какой метке закончилось перетаскивание.Я связался с событием для целевой метки, но когда срабатывает привязка, %W
- это метка, на которой кнопка была нажата изначально.
Следующий код иллюстрирует эффект:
proc buttonRelease w {puts stdout ButtonRelease\ $w}
proc buttonPress w {puts stdout ButtonPress\ $w}
ttk::label .a -text a
ttk::label .b -text b
grid .a -row 0 -column 0 -sticky nsew -padx 30 -pady 15
grid .b -row 0 -column 1 -sticky nsew -padx 30 -pady 15
bind .a <ButtonPress> {buttonPress %W}
bind .b <ButtonPress> {buttonPress %W}
bind .a <ButtonRelease> {buttonRelease %W}
bind .b <ButtonRelease> {buttonRelease %W}
Если я нажимаю «а», я вижу
ButtonPress .a
ButtonRelease .a
, но если я перетаскиваю из «а» в «b», я вижу то же самое.Я хотел бы видеть
ButtonPress .a
ButtonRelease .b
Как мне это получить?