Форум сайта python.su
Не работает бинд, хелп
#coding: utf-8 from tkinter import * def lol(event): print("Кек") root = Tk() root.geometry("300x300") text = Text(root, width=300, height=300) text.pack() text.bind("<Control-N>", lol) root.mainloop()
Офлайн
Fedy1661очень даже работает, если запустить скрипт, тыцькнуть мышкой по текст-виджету, и нажать контрол+N то все работает..
Не работает бинд,
[code python][/code]
Офлайн
PEHDOMА можно как-то сделать чтобы бинд реагировал на контрл+т?
Офлайн
передать ему фокус
http://ilnurgi1.ru/docs/python/modules/tkinter/base.html
Офлайн
Fedy1661можно но тут нужно шаманство, дело в том что ткинтер понимает шоткаты именно в контесте раскладки, тоесть “<Control-N>”, “<Control-n>” , “<Control-ograve>”(ctrl+Т) и “<Control-ograve>”(ctrl+т) для него разные сочетания клавиш..
А можно как-то сделать чтобы бинд реагировал на контрл+т?
#coding: utf-8 from tkinter import * def lol(event): if event.keycode == 78: print("Кек") root = Tk() root.geometry("300x300") text = Text(root, width=300, height=300) text.pack() root.bind('<Control-Key>', lol) root.mainloop()
vic57Можно создавать привязку для разных“ уровней” приложения.
передать ему фокус
[code python][/code]
Отредактировано PEHDOM (Ноя. 10, 2017 18:16:21)
Офлайн
хоткеи будут работать когда виджет получит фокус ввода. по коду ТС хоткей будет <Ctrl-Shift-n>
from tkinter import * def lol(event): print("Кек") root = Tk() root.geometry("300x300") text = Text(root, width=300, height=300) text.pack() text.bind("<Control-N>", lol) text.focus() root.mainloop()
Отредактировано vic57 (Ноя. 10, 2017 21:27:31)
Офлайн