К основному содержанию
правило

customtkinter — правило для Cursor: структура и оформление Python UI

Правило для Cursor подсказывает, как организовать приложение на customtkinter: вынести логику интерфейса в класс и последовательно настроить оформление.

Установить в Cursor · Вручную: положить файлы Все способы и платформы ↓
.cursor/rules/customtkinter.mdc
Открыть на GitHub

Что делает customtkinter

Правило задаёт рекомендации по структуре Python-приложений на customtkinter. Оно предлагает строить приложение на основе класса, наследующего customtkinter.CTk, чтобы держать логику интерфейса в одном месте и проще управлять состоянием. Это помогает не смешивать обработчики событий с созданием виджетов.

Отдельное внимание уделяется настройке темы и организации компонентов. В примере показан процедурный вариант с окном, подписью и кнопкой, где обработчик печатает сообщение при нажатии. Правило противопоставляет такой подход классовой структуре приложения.

Cursor применяет правило к файлам Python по шаблону **/*.py. Само правило не устанавливает customtkinter и не заменяет библиотеку: оно задаёт ориентиры для кода, который пишет или меняет агент. Если проект использует другой GUI-фреймворк, рекомендации по customtkinter могут оказаться неприменимыми.

Какие задачи решает

  • Организовать интерфейс на customtkinter через класс приложения
  • Отделить обработчики событий от создания виджетов
  • Привести настройку темы к единому подходу
  • Упростить управление состоянием интерфейса

Примеры запросов агенту

  • Перестрой приложение на customtkinter так, чтобы класс CTk содержал логику интерфейса.
  • Раздели создание виджетов и обработку нажатий кнопок в моём Python-приложении.
  • Проверь файлы Python на соответствие правилам организации интерфейса на customtkinter.

Как установить customtkinter

Вручную: положить файлы

.cursor/rules/customtkinter.mdc

Во frontmatter: description, globs, alwaysApply

По шагам, с командами для каждой платформы: Cursor rules: файлы .mdc, четыре режима и замена .cursorrules

Вопросы о customtkinter

Как установить правило customtkinter в Cursor?

Добавь файл правила по пути .cursor/rules/customtkinter.mdc в проект. Cursor применяет его к Python-файлам, подходящим под шаблон **/*.py.

Что делает правило customtkinter?

Оно направляет агента при написании и изменении интерфейсов на customtkinter. Основной акцент сделан на классовой структуре приложения, управлении состоянием и настройке оформления.

К каким файлам применяется правило?

Правило предназначено для файлов, соответствующих шаблону **/*.py. Оно ориентировано на приложения с customtkinter, а не на все Python-проекты без разбора.

Исходный текст

customtkinter.mdc · CC0-1.0
---
description: Definitive guidelines for writing clean, maintainable, and performant customtkinter applications. This rule file enforces best practices for code structure, theming, component architecture, and common pitfalls.
globs: **/*.py
---
# customtkinter Best Practices

This document outlines the definitive best practices for developing applications with `customtkinter`. Adhering to these guidelines ensures your UI code is consistent, maintainable, performant, and leverages the full power of the library.

## 1. Code Organization: Class-Based Applications

Always structure your `customtkinter` applications using a class that inherits from `customtkinter.CTk`. This encapsulates UI logic, promotes modularity, and simplifies state management.

❌ BAD: Procedural spaghetti code
```python
import customtkinter as ctk

# Theme setup (often forgotten or inconsistent)
ctk.set_appearance_mode("System")
ctk.set_default_color_theme("blue")

app = ctk.CTk()
app.geometry("400x240")
app.title("My App")

def on_button_click():
    print("Button clicked!")
    # Logic mixed directly here

label = ctk.CTkLabel(app, text="Hello!")
label.pack(pady=10)

button = ctk.CTkButton(app, text="Click Me", command=on_button_click)
button.pack(pady=10)

app.mainloop()
```

✅

© sanjeed5 · CC0-1.0 · sanjeed5/awesome-cursor-rules-mdc

Похожие правила IDE

Все правила IDE по теме «Фронтенд и UI» →
pyqt6-ui-development-rules oimiragieo Скилл задаёт правила для PyQt6-интерфейсов: разделение логики и UI, сигналы и слоты, фоновые задачи и компоновка. Пригодится при разработке и рефакторинге desktop-приложений. CX Codex +1 1 100установок gpui-kit longbridge Скилл обучает ИИ-агентов правилам разработки десктопных приложений на Rust через крейт gpui-kit. Помогает собирать интерфейсы, настраивать фокус, темы и писать тесты. CX Codex +1 1 000установок roblox-gui TabooHarmony Набор правил для вёрстки интерфейсов в Roblox. Помогает адаптировать HUD и магазины под смартфоны и консоли. CX Codex +1 2 200установок native-sdk vercel-labs Скилл помогает ИИ-агенту создавать десктопные приложения через Native SDK на TypeScript и разметке .native. Нужен для настройки сборки, интерфейса и встроенной автоматизации. CX Codex +1 1 500установок clerk-custom-ui clerk Скилл по Clerk: агент собирает свою форму входа на хуках useSignIn и useSignUp либо перекрашивает готовые компоненты под бренд. CX Codex +1 55 200установок roblox-user-interfaces nonlooped Помогает проектировать и чинить интерфейсы в Roblox: от экранных меню со ScreenGui до табличек BillboardGui и 3D-превью в ViewportFrame. CX Codex +1 328установок

Из того же набора240

Весь набор →
databricks Задаёт стандарты разработки на Databricks: вынос кода из блокнотов в модули, настройку бандлов и перенос тяжёлых вычислений с мощностей Databricks Apps. ★ 3 580звёзд репо dask Правило помогает писать код на Dask с учётом ленивых вычислений, памяти и работы кластера. Подключите его, когда Cursor редактирует Python-проект с Dask. ★ 3 580звёзд репо d3 Правило для Cursor задаёт, как писать код визуализаций на D3.js v7+: модульные импорты, selection.join() вместо ручного enter/update/exit, стили через CSS. ★ 3 580звёзд репо cypress Задаёт правила E2E-тестирования в Cypress для Cursor: изоляцию тестов, селекторы по data-cy, моки через cy.intercept() и вход через сессии. ★ 3 580звёзд репо cuda Правило задаёт Cursor стиль работы с CUDA C++: проверка ошибок API, разделение host и device кода, оптимизация ядер. Пригодится, если пишете GPU-код и устали от молчаливых падений. ★ 3 580звёзд репо css Задаёт стандарты вёрстки для Cursor: модульную структуру Sass, именование по БЭМ, переменные и производительную анимацию. Пригодится для поддержки чистоты в стилях. ★ 3 580звёзд репо crewai Правило для Python-файлов подсказывает Cursor, как организовать CrewAI: разделять агентов, задачи и оркестрацию, а также передавать контекст между задачами. ★ 3 580звёзд репо codemirror Правило для Cursor задаёт, как писать редакторы на CodeMirror 6: модульные импорты, неизменяемое состояние, конфигурация через расширения. ★ 3 580звёзд репо

Спонсоры проекта

Компании, которые помогают держать аналитику открытой