【问题标题】:QML: How to remove invalid property name (M16)QML:如何删除无效的属性名称(M16)
【发布时间】:2020-09-11 15:01:30
【问题描述】:

我有一个带有 CPP 类、qrc 文件和 qml 文件的基本 QML 库:

CPP 文件:

qmlRegisterType( QUrl( "qrc:/MyType.qml" ), "LibA", 1, 0, "MyType" );

二维码文件:

<RCC>
  <qresource prefix="/">
    <file>MyType.qml</file>
  </qresource>
</RCC>

QML 文件:

import QtQuick 2.0

Rectangle {
    color: 'blue'
    width: 50
    height: 50
}

当我在 main.qml 中使用它时工作正常,但一直说无效的属性名称“颜色”(M16)和“宽度”和“高度”相同。我知道这可以保持这种状态直到工作正常,但可以修复吗?

这是我的 main.qml 文件:

import QtQuick 2.0
import QtQuick.Window 2.0

import LibA 1.0

Window {
    visible : true
    width: 640
    height: 480
    title: "Hello World"

    MyType {
        height: 100
        width: 100
        color: 'yellow'
    }
}

我使用的是 Qt 5.14.2,提前致谢,抱歉我的英语不好。

【问题讨论】:

  • 你的main.qml不在资源文件里吗?为什么不像在其他文件中那样在组件中导入QtQuick 2.12
  • main.qml 文件位于不同的 qrc 中,因为它是一个应用程序。 MyType.qml 它在一个库中我把相同的版本 o qtquick 并一直说同样的话。
  • 我编辑帖子,QtQuick 到 2.0 试图得到一个答案来帮助我纠正问题,顺便说一句

标签: qt qml qtquick2


【解决方案1】:

以下代码 (main.qml) 遇到了同样的问题:

import QtQuick 2.15
import QtQuick.Window 2.15
Window {
    width: 640
    height: 480
    visible: true
    title: qsTr("Hello World")
}

在 Desktop Qt 5.15 上构建时没有错误,但在为 Android Qt 5.15 构建时属性宽度、高度、可见性和标题出现 M16 错误

然后我用了

应用程序窗口

而不是

窗口

此代码适用于 Android:

import QtQuick 2.15
import QtQuick.Controls 2.15
ApplicationWindow {
    width: 640
    height: 480
    visible: true
    title: qsTr("Hello World")
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-14
    • 1970-01-01
    • 1970-01-01
    • 2018-01-18
    相关资源
    最近更新 更多