Проблема при назначении значений псевдониму для QtObject - PullRequest
0 голосов
/ 11 декабря 2019

Я пытаюсь присвоить значения свойств для этого QtObject в main. Тем не менее, он не работает так, как мне кажется, и должен получить ошибку:

Cannot assign to non-existent property "mainValue"

//main.qml
import QtQuick 2.12
import QtQuick.Window 2.12

Window {
    id: _theWindow
    visible: true
    width: 640
    height: 480

    RectComp {
        id: _theRectangleComponent
        myObject.mainValue: 5
    }
}

//RectComp.qml
import QtQuick 2.12
import QtQuick.Window 2.12

Rectangle
{
    id: _theRectangle
    width: 100
    height: 100
    anchors.centerIn: parent
    color: "lightblue"

    property alias myObject: _theObject

    QtObject
    {
        id: _theObject
        property int mainValue
    }
}

Так что, очевидно, ему не нравится это присвоение свойства: myObject.mainValue: 5. Вместо этого я не получаю ошибку, когда присваиваю ему значение таким образом:

RectComp 
{
  id: _theRectangleComponent
  //myObject.mainValue: 5
  Component.onCompleted
  {
    myObject.mainValue = 5
  }
}

Если вместо того, чтобы дать целому QtObject псевдоним, я вместо этого указываю, что само свойство должно иметь псевдоним, например:

//property alias myObject: _theObject
property alias myObject: _theObject.mainValue

, затем, когда я назначаю ему значение, как я пытался ранее:

myObject.mainValue: 5

, оно работает без ошибок. Я думаю, что я неправильно настраиваю псевдоним QtObject или что-то в этом роде. Я не уверен, что я делаю неправильно. Я хотел бы иметь возможность дать QtObject целый набор свойств, таких как: mainValue, unit, minValue, maxValue и т. Д. ... но если мне нужно создать псевдоним для каждого значения, то мне может понадобиться переосмыслить, как яделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...