如何渲染QQuickItem子级?

时间:2018-07-24 20:22:14

标签: c++ qt qml

假设我有这个课程:

class CustomRow : public QQuickPaintedItem {
    Q_OBJECT

    CustomRow(QQuickItem* parent) {...}
    void paint(QPainter* painter) {
        /* Custom painting of children here */
    }
}

我如何以舒适的方式放置和绘画孩子?例如,如果我有一个percentLeft属性,该如何渲染两个孩子,以便让左边的孩子占据那里的percentLeft空间?假设它在QML中是这样的:

CustomRow {
    percentLeft: 80
    Text {
        text: "Hi"
    }
    Text {
        text: "Bye"
    }
}

我如何做到使“ Hi”这样的文本占据CustomRow项目宽度的80%?我是否只需要安置孩子并让他们自己照顾?

1 个答案:

答案 0 :(得分:2)

  

我是否只需要安置孩子,他们会照顾好孩子   自己?

钉了它。物品负责自己的绘画。您不必为此担心,仅需与您所做的任何自定义绘画有关。

您可以使用属性绑定将子项放置在父项中。