如何在 QML 中创建自定义对象?

Posted

技术标签:

【中文标题】如何在 QML 中创建自定义对象?【英文标题】:How to create custom object in QML? 【发布时间】:2014-07-14 13:40:39 【问题描述】:

我正在尝试在 QML 中创建自定义对象,但没有成功。我是否遗漏了一些小而重要的东西?

这是代码

一些.qml

import QtQuick 2.0

Rectangle 
    id: devicesList
    width: 100
    height: 62
    color: "red"

   ListElement 

ListElement.qml

import QtQuick 2.0


Rectangle 
    id: aaa
    x: 100
    y: 100
    //x: ListElementRoot.xx
   // y: ListElementRoot.yy
    width: 100
    height: 100
    radius: 10
    color: "blue"

    MouseArea 
        id: mouseArea
        anchors.fill: parent
        hoverEnabled: true
        onEntered:
            animation.start()
            animation2.start()
            animation3.start()
        
        //onClicked: aaa.width -= 10
        //onEntered:
    

    PropertyAnimation 
        id: animation
        target: aaa
        properties: "height"
        to: "200"
        duration: 1000
    

    PropertyAnimation 
        id: animation2
        target: 
            rotation
        
        properties: "angle"
        to: "72"
        duration: 1000
    

    PropertyAnimation 
        id: animation3
        target: g1
        properties: "color"
        to: "gray"
        duration: 500
    

    transform: Rotation 
        id: rotation
        origin.x: 30
        origin.y: 30
        axis 
            x: 1
            y: 0
            z: 0
        
        angle: 0
    

    gradient: Gradient 
        GradientStop  id: g1; position: 0.0; color: "blue" 
        GradientStop  id: g2; position: 1.0; color: "blue" 
    

    states: State
        name: "moved"; when: mouseArea.entered
        PropertyChanges  target: aaa; width: width+10; height: height+10 
    

    transitions: Transition 
        NumberAnimation  properties: "width,height"; duration: 1000 
    

我已经尝试了这两个版本,并简化了一个只有 x、y、宽度、高度和颜色属性的版本。

【问题讨论】:

已解决。我的对象名称被核心对象覆盖。 能否请您回答您自己的问题并在可能的情况下接受它? 【参考方案1】:

解决了。我一直在尝试覆盖核心对象。

【讨论】:

以上是关于如何在 QML 中创建自定义对象?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 GraphQL 中创建自定义对象列表

如何在 Blend 中创建自定义列表

有没有办法在 Kivy 中创建自定义属性?

如何在 laravel 中创建自定义关系?

如何在 QT5.6.1 中创建自定义按钮

如何在 Facebook SDK 中创建自定义分享按钮