C

QML API 更新

已移除的 QML 类型和新功能

以下是需要移除的 QML 类型和新功能的列表

QML API 或模块替代方案
Qt Charts 模块没有替代方案,但可以使用静态图片进行绕道。请参阅恒温器示例
Javascript Date API目前没有替代方案。
toFixedInt()toFixed()
toExponentialAuto()toExponential()

已移动 QulPerf

QulPerf 已移动到 Qt Quick Ultralite Extras QML 模块。您现在需要导入 Qt Quick Ultralite Extras QML 模块才能使用它。

Qt for MCUs v1.9 及之前版本Qt for MCUs v2.0 及以后版本
import QtQuick 2.15
Row {
    id: root
    visible: QulPerf.enabled

    PerformanceMetricItem {
        label: "FPS:"
        value: QulPerf.fps.toFixed(2)
    }
}
import QtQuick 2.15
import QtQuickUltralite.Extras 2.0
Row {
    id: root
    visible: QulPerf.enabled

    PerformanceMetricItem {
        label: "FPS:"
        value: QulPerf.fps.toFixed(2)
    }
}

ListElement 中的 JavaScript 表达式

JavaScript 表达式不能再与 ListElement 中的属性值绑定。现在 ListElement 限制可能的值为常量以及 qsTr() / qsTrId() 调用。这些更改与 Qt 兼容。

Qt for MCUs v1.9 及之前版本Qt for MCUs v2.0 及以后版本
ListModel {
    id: fruitModel

    ListElement {
        name: "Apple"
        cost: { 5 + 10 }
    }
    ListElement {
        name: "Orange"
        cost: 3.25
    }
}
ListModel {
    id: fruitModel

    ListElement {
        name: "Apple"
        cost: 15
    }
    ListElement {
        name: "Orange"
        cost: 3.25
    }
}

AnchorChanges 中的项目边距

AnchorChanges 不能再用于修改项目的边距。请改用 PropertyChanges

Qt for MCUs v1.9 及之前版本Qt for MCUs v2.0 及以后版本
AnchorChanges {
    target: myRect
    anchors {
        top: anchorRectEnd.top
        bottom: anchorRectEnd.bottom
        left: anchorRectEnd.left
        right: anchorRectEnd.right
        topMargin: 20
        bottomMargin: 20
        leftMargin: 20
        rightMargin: 20
    }
}
AnchorChanges {
    target: myRectanchors {
        top: anchorRectEnd.top
        bottom: anchorRectEnd.bottom
        left: anchorRectEnd.left
        right: anchorRectEnd.right
    }
}
PropertyChanges {
    target: myRect
    anchors {
        topMargin: 20
        bottomMargin: 20
        leftMargin: 20
        rightMargin: 20
    }
}

文本对齐

对于 horizontalAlignmentverticalAlignment 属性的枚举值,现在已统一为 TextStaticText 项目。这些类型现在使用 Text.horizontalAlignmentText.verticalAlignment 的值。

Qt for MCUs v1.9 及之前版本Qt for MCUs v2.0 及以后版本
StaticText {
    horizontalAlignment: StaticText.AlignRight
    verticalAlignment: StaticText.AlignVCenter
    text: "right aligned"
}
StaticText {
    horizontalAlignment: Text.AlignRight
    verticalAlignment: Text.AlignVCenter
    text: "right aligned"
}

限制 Font.unicodeCoverage 使用

font.unicodeCoverage 属性仅在 Qt.font() 上下文中受支持。

Qt for MCUs v1.9 及之前版本Qt for MCUs v2.0 及以后版本
Text {
    font.unicodeCoverage: [Font.UnicodeBlock_BasicLatin]
}
Text {
    font: Qt.font({ unicodeCoverage: [Font.UnicodeBlock_BasicLatin]})
}

涉及特定 Qt 许可
了解更多信息。