QML QtCreator 使用无效代码重新格式化组件类型的属性
Posted
技术标签:
【中文标题】QML QtCreator 使用无效代码重新格式化组件类型的属性【英文标题】:QML QtCreator reformats property of component type with invalid code 【发布时间】:2015-10-28 15:13:27 【问题描述】:我定义了以下属性,例如:
property Gradient greenGradient: Gradient
GradientStop
position: 0.0
color: "#00f03b"
GradientStop
position: 1.0
color: "#3cb53b"
在 QtCreator (v3.5.0, 在 Windows7 中运行) 当我做一个
工具->QML/JS->重新格式化文件
它将我的属性更改为以下无效代码:
property Gradient greenGradient: greenGradient: Gradient
GradientStop
position: 0.0
color: "#00f03b"
GradientStop
position: 1.0
color: "#3cb53b"
通过将Component
定义为这样的属性,我做错了什么吗? Rhe QML 文档state:
此外,任何 QML 对象类型都可以用作属性类型。例如:
property Item someItem
property Rectangle someRectangle
或者它只是 QtCreator 重新格式化功能中的一个错误?我尝试了几种不同的对象类型,结果相同。 int
、color
、var
、string
等基本类型按预期工作。
【问题讨论】:
【参考方案1】:我想我找到了答案。
Qt5 文档对此主题保持沉默(或至少不清楚)。但是,在 Qt 4.7 文档中,我找到了this:
此类对象类型属性默认为未定义值。
因此,代码必须改为:
property Gradient greenGradient
greenGradient: Gradient
GradientStop
position: 0.0
color: "#00f03b"
GradientStop
position: 1.0
color: "#3cb53b"
原始代码和修改后的代码功能相同毫无价值。修改后的版本只是通过 QtCreator 的重新格式化功能得到的,没有搞砸。
【讨论】:
以上是关于QML QtCreator 使用无效代码重新格式化组件类型的属性的主要内容,如果未能解决你的问题,请参考以下文章
Qml QtQuick2'无效的属性名称“样式”(M16)' [重复]