通过在QT QML中单击鼠标重复矩形

repeating Rectangle by clicking mouse in QT QML

本文关键字:鼠标 单击 QT QML      更新时间:2023-10-16

似乎不可能在鼠标onReleased中使用repeat!?我该怎么做?我想在一些已经定义的矩形边上画4个圆?

onReleased:{
    Repeater {
    id: repeatEdirPattern
    model: editParentPositionList
    delegate: editPatternComponent
    }
}

MouseArea.onReleased接受JS函数的定义(在发出MouseArea.released SIGNAL时要调用的SLOT)。你不能在其中放入任意的QML声明性定义。

要执行所需操作,必须在Component项中定义Repeater,然后在释放鼠标时创建该组件,调用component.createObject方法。

另一种简单的方法是简单地隐藏4个圆(将其不透明度设置为0),直到释放鼠标,然后显示它们。无论如何,这并不适用于许多情况。