Я пытаюсь присвоить значения свойств для этого 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 и т. Д. ... но если мне нужно создать псевдоним для каждого значения, то мне может понадобиться переосмыслить, как яделать это.