ctksnippets
Шпаргалка-сниппеты для разработчика на CustomTkinter.
Вместо того чтобы гуглить «как сделать X в CTk», просто импортируйте нужный модуль
и нажмите Ctrl+Click (или F12) на функции — откроется готовый, рабочий код,
который можно скопировать прямо в ваш проект.
Установка
Из локальной папки (рекомендуется для разработки)
pip install .
В режиме редактирования (изменения сразу видны без переустановки)
pip install -e .
Использование
Вариант 1 — импорт всего пакета
import ctksnippets
Напишите ctksnippets. и IDE покажет все модули. Нажмите Ctrl+Click
на любой функции — откроется исходник с готовым сниппетом.
Вариант 2 — импорт конкретного модуля
from ctksnippets import auth
Затем Ctrl+Click на auth → появятся все функции модуля.
Ctrl+Click на нужной функции — и вы увидите сниппет прямо в docstring.
Вариант 3 — импорт конкретной функции
from ctksnippets.auth import login_form
Ctrl+Click на login_form → откроется готовый сниппет формы входа.
Модули и их содержимое
| Модуль | Что внутри |
|---|---|
app_setup |
Окно CTk, класс App, mainloop, тема, масштаб, иконка, F11 |
auth |
Форма входа/регистрации, показать/скрыть пароль, валидация |
database |
SQLite3: подключение, CREATE, INSERT, SELECT, UPDATE, DELETE, менеджер |
frames |
Навигация между фреймами, боковая панель, TabView, ScrollableFrame |
table_view |
Таблица из SQLite, пагинация, сортировка по столбцу |
images |
Pillow + CTkImage, ресайз, плейсхолдер, кнопка с иконкой, галерея, GIF |
Как работает Ctrl+Click
PyCharm
- Убедитесь, что
ctksnippetsустановлен:pip install . - Напишите
from ctksnippets import auth - Зажмите
Ctrlи кликните мышью наauthили на любую функцию — откроется файл модуля с docstring-сниппетами. - Альтернатива: поставьте курсор на имя и нажмите
Ctrl+B.
VS Code
- Убедитесь, что выбран правильный интерпретатор Python (
Ctrl+Shift+P→ Python: Select Interpreter) — тот, в который установлен пакет. - Установите расширение Pylance (входит в Python extension).
- Напишите
from ctksnippets.auth import login_formи зажмитеCtrl, затем кликните наlogin_form— откроется исходник. - Альтернатива:
F12илиCtrl+F12для просмотра определения.
Совет: сниппеты в docstring начинаются с маркера
# ── SNIPPET: <name> ──────────────────— ищите его взглядом сразу.
Зависимости
- customtkinter
>=5.2.0 - Pillow
>=9.0.0
Структура пакета
ctksnippets/
├── __init__.py # экспортирует все модули, __version__ = "0.1.0"
├── app_setup.py # настройка окна и приложения
├── auth.py # формы входа и регистрации
├── database.py # работа с SQLite3
├── frames.py # навигация и боковая панель
├── table_view.py # таблицы и пагинация
└── images.py # изображения через Pillow
Лицензия
MIT
Release files for ctksnippets 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ctksnippets-0.2.0.tar.gz | 23.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ctksnippets-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 49.2 kB
Release files / ctksnippets-0.2.0.tar.gz
| Download URL | ctksnippets-0.2.0.tar.gz |
|---|---|
| Size | 23.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9eec5539676df0e819d1dadcff910bbaaaf6881f2b218312eb8077225db5a70b
|
|
BLAKE2b-256 checksum How to use checksums |
047a32fe691c1a6cbe8e37bf4f76d5520465ea41a55f1a725e64583fbe7065b0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.12
|
Release files / ctksnippets-0.2.0-py3-none-any.whl
| Download URL | ctksnippets-0.2.0-py3-none-any.whl |
|---|---|
| Size | 25.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bb1632f553619d24123ea5b242d9de3eeda5f6f648ae1c4a596ff24c368bb132
|
|
BLAKE2b-256 checksum How to use checksums |
af90f653b18f0f61adc06adc16d37cbb4cdeb029ac6d90f6250ee22dd5dd487d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.12
|