Forums

OverviewV-Play 2 Support (Qt 5) › Crash when modifying a nested attribute

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #12235

    Kool

    Hi guys, I’m a bit stuck on this crash and was hoping you could help.

    As a minimal example, let’s say I’m creating a graph.

    Point.qml:

    import QtQuick 2.0
    
    Item {
        id: point
        property string shape: "X"
    }
    

    Point is contained in Graph.qml:

    import QtQuick 2.0
    import VPlay 2.0
    
    EntityBase {
        id: graph
        entityType: "Graph"
    
        width: 10
        height: 10
    
        property Point point: point
    
        Point {
            id: point
        }
    }
    

    And we use Graph.qml in the Scene of Main.qml (empty V-Play project):

        Scene {
            id: scene
    
            // the "logical size" - the scene content is auto-scaled to match the GameWindow size
            width: 480
            height: 320
    
            Graph {
                id: graph
                x: 0
                y: 0
                point.attribute: "D"
            }
    
        }

    Note that I’ve attempted to modify the Point attribute as a default parameter in the creation of the Graph. This is leading the program to crash, without the line ‘point.attribute: “D”‘, it runs as normal.

    I’m not sure whether this is a bug or something’s up with my syntax.

    Any chance you could advise?
    Cheers!

     

    #12236

    Kool
    #12239

    Günther
    V-Play Team

    Hi KoolBanana!

    Whenever you want to make nested items publicly accessible (like your Point in Graph.qml), a property alias should do the trick:

    EntityBase {
        id: graph
        entityType: "Graph"
    
        width: 10
        height: 10
    
        property alias point: point
    
        Point {
            id: point
        }
    }

     

    Cheers, Günther

    #12241

    Kool

    Worked a treat, cheers Günther!

Viewing 4 posts - 1 through 4 (of 4 total)

RSS feed for this thread

You must be logged in to reply to this topic.

Voted #1 for:

  • Easiest to learn
  • Most time saving
  • Best support

Develop Cross-Platform Apps and Games 50% Faster!

  • Voted the best supported, most time-saving and easiest to learn cross-platform development tool
  • Based on the Qt framework, with native performance and appearance on all platforms including iOS and Android
  • Offers a variety of plugins to monetize, analyze and engage users
FREE!
create apps
create games
cross platform
native performance
3rd party services
game network
multiplayer
level editor
easiest to learn
biggest time saving
best support