[+] reg_ctrl_events

This commit is contained in:
Maxim Khomutov 2025-03-26 14:42:03 +03:00
parent dcb5fa078a
commit 4c79770293
2 changed files with 32 additions and 1 deletions

View File

@ -1,3 +1,3 @@
from . import fonts
from .params import Strings, Icons
from .utils import base_path, get_file, wrap_text
from .utils import base_path, get_file, wrap_text, reg_ctrl_events

View File

@ -32,3 +32,34 @@ def base_path():
def get_file(filename):
return base_path() / "resources" / filename
def on_ctrl_c(entry, event):
# Копируем текст из поля ввода в буфер обмена
text = entry.get() # Получаем текст из поля ввода
entry.clipboard_clear() # Очищаем буфер обмена
entry.clipboard_append(text) # Добавляем текст в буфер обмена
def on_ctrl_v(entry, event):
# Вставляем текст из буфера обмена в поле ввода
clipboard_text = entry.clipboard_get() # Получаем текст из буфера обмена
entry.insert("insert", clipboard_text) # Вставляем текст в позицию курсора
def on_ctrl_a(entry, event):
# Выделяем весь текст в поле ввода
entry.select_range(0, 'end') # Выделяем текст от начала до конца
def on_ctrl_left(entry, event):
# Перемещаем курсор на одно слово влево
entry.event_generate("<Left>") # Симулируем нажатие стрелки влево
def on_ctrl_right(entry, event):
# Перемещаем курсор на одно слово вправо
entry.event_generate("<Right>") # Симулируем нажатие стрелки вправо
def reg_ctrl_events(entry):
# Привязка горячих клавиш с использованием lambda
entry.bind("<Control-c>", lambda event: on_ctrl_c(entry, event)) # Копирование в буфер
entry.bind("<Control-v>", lambda event: on_ctrl_v(entry, event)) # Вставка из буфера
entry.bind("<Control-a>", lambda event: on_ctrl_a(entry, event)) # Выделение всего текста
entry.bind("<Control-Left>", lambda event: on_ctrl_left(entry, event)) # Перемещение курсора влево
entry.bind("<Control-Right>", lambda event: on_ctrl_right(entry, event)) # Перемещение курсора вправо