qt:按钮的无效属性名称“x”(M16)
Posted
技术标签:
【中文标题】qt:按钮的无效属性名称“x”(M16)【英文标题】:qt: invalid property name 'x' (M16) for button 【发布时间】:2015-03-06 13:39:10 【问题描述】:我在 QtCreator 3.3.1 中使用 Qt 5.4.1
我已将 QtQuick.Controls 1.2 导入我的 QML 并添加了一系列按钮:
Rectangle
id: buttonBar
x: 480
y: 0
width: 320
height: 80
Button
x: 0
y: 0
width: 80
height: 60
text: "Songs"
Button
x: 80
y: 0
width: 80
height: 60
text: "Artists"
Button
x: 160
y: 0
width: 80
height: 60
text: "Albums"
Button
x: 240
y: 0
width: 80
height: 60
text: "Back"
当我运行程序时它们都渲染得很好,但是每次 QtCreator 打开 qml 文件时它都会跳转到设计模式并且我收到警告:
invalid property name 'x' (M16)
当我在编辑模式下查看文件时,我使用 x、y、宽度和高度的行都带有下划线。
但文档说这些是我的按钮的有效属性 - http://doc.qt.io/qt-5/qml-qtquick-controls-button-members.html
如何停止/解决此错误消息?
【问题讨论】:
【参考方案1】:这是为使用 Qt Creator 的控件生成的类型信息中的一个错误。
要抑制此错误,请添加注释:
Button
// @disable-check M16
x: 80
y: 0
【讨论】:
非常感谢。这会抑制错误,但仍然不允许使用方便的设计器模式定位或编辑按钮。让按钮在设计器模式下工作的任何技巧? @halfnibble 仅将您的 Qt 更改为没有错误的版本。 Qt 5.4.0 和 QtCreator 3.3.0 很好。 我们可以通过解决方案解决这里的问题,但问题是自动完成功能无法正常工作。【参考方案2】:尝试在 qml 中的所有其他导入之前添加 import QtQuick.Window 2.2。
【讨论】:
这个真的好用 对我来说,最重要的是import QtQml.Models 2.2
来解决这个问题。导入的顺序在这里很重要。【参考方案3】:
在任何其他导入和问题得到解决之前,我将这些导入移到顶部:
import QtQml.Models 2.2
import QtQml 2.2
【讨论】:
感谢您的回答,它解决了我的问题,但是您知道为什么会出现问题以及为什么这些导入会解决它吗?以上是关于qt:按钮的无效属性名称“x”(M16)的主要内容,如果未能解决你的问题,请参考以下文章