用途:为基于 PyQt6 的桌面界面开发提供一套规则与反模式清单,目标是做出响应流畅、视觉良好、可维护且跨平台一致的 GUI。
主要能力与规则:
- UI 与逻辑通信必须使用 Qt 的信号/槽机制,禁止 UI 直接调用业务逻辑方法,以保持 MVC 分离与可测试性。
- 禁止在主 UI 线程执行耗时操作,避免阻塞 Qt 事件循环导致界面无响应;后台任务应使用 QThread、QRunnable,或 asyncio 配合 quamash。
- QSS 样式表应在应用级别统一设置,而非逐控件内联样式,以保证主题一致、便于维护;通过 object name/class 定位控件。
- 禁止使用绝对像素坐标布局,应使用 QVBoxLayout、QHBoxLayout、QGridLayout 等布局管理器与 size policy,保证 DPI 感知与跨平台渲染;DPI 相关尺寸可用 logicalDpiX()。
- 发布前需在所有目标平台测试,因为 Windows、macOS、Linux 的渲染、字体缩放与控件尺寸存在差异,必要时使用平台条件逻辑。
反模式对照:UI 槽直接调用业务逻辑、主线程做网络或文件 I/O、硬编码像素尺寸与位置、逐控件内联样式、忽略跨平台渲染差异,均被列为应避免的做法,并给出对应正确做法。
使用方式:资料提到一个强制性的记忆协议——开始前执行 cat .claude/context/memory/learnings.md,完成后记录新发现的模式或例外;并假设上下文可能被重置,未写入记忆的内容视为未发生。
适用场景:PyQt6 桌面应用的界面架构设计、代码评审与重构,尤其是需要响应式布局、统一主题与跨平台兼容的项目。
限制:资料未提供具体安装命令、版本要求、代码示例细节、收费或平台支持范围等信息,暂未提供。