Форум программистов, компьютерный форум, киберфорум
Python: Tkinter
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 01.11.2021
Сообщений: 2

Обработка нажатия F4. Нужно отсечь нажатия Ctrl, Shift и Alt.

23.07.2025, 15:06. Показов 874. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
К виджету привязываю событие через виджет.bind(<Key-F4>, .......)
Событие срабатывает при наличии фокуса у виджета и при нажатии как F4, так и при нажатии Shift-F4, так и при нажатии Ctrl-F4,
и при нажатии Alt-F4, так при комбинации нескольких клавиш модификаторов и F4.

Если привязать через виджет.bind(<Shift-Key-F4>, .......) то срабатывать будет только при совместном нажатии Shift и F4 при одиночном нажатии F4 (без Shift) срабатывать не будет. и при Alt-F4 не будет срабатывать, и как следствие окно просто закрывается (стандартное действие по Alt-F4)

Как сделать так чтобы мое действие выполнялось только по F4, а по Shift-F4, Ctrl-F4, Alt-F4 НЕ ВЫПОЛНЯЛОСЬ. и в частности при нажатии Alt-F4 выполнялось стандартное действие (закрывалось окно), а не выполнялось мое действие.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.07.2025, 15:06
Ответы с готовыми решениями:

tkinter - нажатие левой кнопки мыши + левый alt
Ребят, приветствую. Подскажите, что в event прописать на событие button_1_clicked, чтобы вызов...

Как вставлять в Entry с помощью Ctrl+V?
Как вставлять в Entry с помощью Ctrl+V? a = Entry(textvariable=&quot;a&quot;).place(x=85,y=85)

Ctrl + Z
При нажатии Ctrl+Z последний нарисованный прямоугольник удаляется, можете пожалуйста помочь...

2
2891 / 1926 / 208
Регистрация: 05.06.2011
Сообщений: 5,625
23.07.2025, 16:08
«If no modifiers are specified, then any combination of modifiers may be present in the event»
То бишь: если модификаторы не указаны, то да, событие будет срабатывать при любой их комбинации.
Что делать... Ну, можно, скажем, в обработчике проверять, какое конкретно событие сработало и при наличии модификаторов просто вываливаться.
Хм. Легко сказать — проверять. Попробуйте в строке обработчика вставить %K. Она заменится на «The keysym corresponding to the event, substituted as a textual string» — возможно, в этот keysym войдут и модификаторы. Отдельно их, похоже, не проверить.
0
 Аватар для kapbepucm
1566 / 739 / 321
Регистрация: 02.05.2020
Сообщений: 1,654
23.07.2025, 21:05
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
from tkinter import Tk
 
SHIFT = 0x0001
CONTROL = 0x0004
ALT = 0x0008
 
def myfunc(event):
  if event.state & (SHIFT | CONTROL | ALT):
    return
  print("myfunc")
 
root = Tk()
root.bind("<F4>", myfunc)
root.mainloop()
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.07.2025, 21:05
Помогаю со студенческими работами здесь

Ошибка обработки нажатия на кнопку
Доброго времени суток. Гугл особо не помог и не нашел подобного на форуме. Вот работающий код: ...

Tkinter обработка нажатий на кнопку
Добрый день, хотелось бы узнать, как можно сделать неактивной кнопку после 5 нажатий на нее? И...

Обработка метода при нажатии на QLabel
Не могу обработать метод при нажатии на label! Я создал класс, унаследованный от QLabel... в общем,...

Обработка нажатий клавиш
У меня есть программа с несколькими потоками, один из них - это обработка нажатий клавиш, но я не...

PyQt5. Обработка нажатия на элемент
Здравствуйте. Не срабатывает метод connect на чекбоксе. Что я делаю не так ? Спасибо! import...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru