В одном из моих проектов, используя Qt Quick 2, я создал TableView
представление, в котором представлены aws пользовательские элементы. Шаблон элемента был определен в свойстве delegate
моего табличного представления. Qml-код шаблона элемента выглядит примерно так:
Component
{
id: itGridItem
Item
{
width: gvMessageGrid.width
height: itemTextID.height + 40
Rectangle
{
property int messageWidth: (gvMessageGrid.width / 2) - 50
id: itemRect
x: senderIsMyself ? 25 : gvMessageGrid.width - (25 + messageWidth)
y: 5
width: messageWidth
height: itemTextID.height + 20
color: senderIsMyself ? "#d5d5d5" : "#800b940e"
radius: 5
clip: true
Text
{
id: itemTextID
width: parent.width - 20
text: itemText
renderType: Text.NativeRendering
textFormat: Text.StyledText
wrapMode: Text.WordWrap
font.family: "Segoe UI Emoji"
font.pixelSize: 18
anchors.margins: 10
anchors.left: parent.left
anchors.top: parent.top
color: "#101010"
}
}
}
}
В моем коде на C ++ я также создал класс, унаследованный от QAbstractListModel
, который я связал со своим представлением, используя свойство model
моего TableView
представления.
В этом классе c ++ мне нужно получить доступ к нескольким свойствам, определенным в показанном выше шаблоне элемента, в качестве примера мне нужно получить значение font.pixelSize
свойство объявлено в Text
дочернем компоненте моего шаблона элемента.
Как этого добиться?