Compare commits

...

2 Commits

Author SHA1 Message Date
d0df8cce2d [+] row_index == -1 2025-03-26 18:01:29 +03:00
4c79770293 [+] reg_ctrl_events 2025-03-26 14:42:03 +03:00
3 changed files with 35 additions and 1 deletions

View File

@@ -166,6 +166,9 @@ class CTkTableFrame(ctk.CTkFrame):
def edit(self, row_index, new_data=None, color=None, disable=False, **__):
"""Редактирует строку по индексу."""
if row_index == -1:
row_index = len(self._data) - 1
def _disable_colors(widget):
widget.unbind("<Enter>")
widget.unbind("<Leave>")

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)) # Перемещение курсора вправо