HorusKol
HorusKol

Reputation: 8706

qt: invalid property name 'x' (M16) for button

I'm using Qt 5.4.1 in QtCreator 3.3.1

I've imported QtQuick.Controls 1.2 into my QML and added a series of buttons:

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"
    }
}

They all render fine when I run the program, but everytime that QtCreator opens the qml file it jumps into design mode and I get the warning:

invalid property name 'x' (M16) 

and the lines where I use x, y, width and height are all underlined when I view the file in edit mode.

But the documentation says these are valid properties for my buttons - http://doc.qt.io/qt-5/qml-qtquick-controls-button-members.html

How do I stop/resolve this error message?

Upvotes: 16

Views: 23674

Answers (3)

Megidd
Megidd

Reputation: 7942

I moved these imports to the top, before any other import and problem got resovled:

import QtQml.Models 2.2
import QtQml 2.2

Upvotes: 5

MoNZ
MoNZ

Reputation: 81

Try to add import QtQuick.Window 2.2 before all other imports in qml.

Upvotes: 8

Meefte
Meefte

Reputation: 6735

It's a bug in the type info that is generated for controls for use of Qt Creator.

To suppress this error, add comment:

Button {
    // @disable-check M16
    x: 80
    y: 0
}

Upvotes: 17

Related Questions