用途:本技能面向 Qt Quick / QML 声明式 UI 开发,适合从零构建新界面、将 QML 嵌入 Python(PySide6)或 C++ 应用,以及把 Python/C++ 对象暴露给 QML。资料指出 QML 适合现代动画界面、移动或嵌入式目标、有设计师参与、需要 GPU 加速渲染的新应用;传统桌面工具、重数据表格与表单、富文本编辑、复杂平台控件集成、扩展已有 Widgets 应用仍建议使用 Widgets。
主要能力与要点:
- 类型安全的属性声明,使用明确类型而非 var,例如 property string name、property int count。
- 优先声明式绑定而非命令式赋值,避免覆盖绑定并破坏 Qt Design Studio。
- 交互信号优先于值变化信号,如用 Slider 的 onMoved 而非 onValueChanged,避免事件级联。
- 不要给 Layout 的直接子项加锚点,应使用 Layout.fillWidth、Layout.preferredHeight 等附加属性,避免绑定循环。
- 不要自定义原生样式(Windows、macOS 原生样式忽略 QSS),自定义样式应基于跨平台样式 Basic、Fusion、Material 或 Universal,并在 QGuiApplication 前调用 QQuickStyle.setStyle("Material")。
- 所有用户可见字符串从一开始就用 qsTr() 包裹以便翻译。
- 向 QML 暴露 Python 对象有三种方式:Required Properties(首选)、Context Property、注册 QML 类型;任何可从 QML 调用的 Python 方法都必须加 @Slot,否则运行时报 TypeError。
- 提供 QML 信号与 Connections、常用 QtQuick.Controls 组件的参考,以及架构引导文档(references/qml-architecture.md、qml-pyside6.md、qml-signals-properties.md、qml-components.md)。
限制:资料未提供该技能的安装命令、版本要求、平台支持范围、收费或价格信息,暂未提供;具体用法细节需查阅上述参考文档。