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

Posted

技术标签:

【中文标题】通过在QT QML中单击鼠标重复矩形【英文标题】:repeating Rectangle by clicking mouse in QT QML 【发布时间】:2012-07-25 09:23:43 【问题描述】:

鼠标onReleased好像不能使用repeat!?我该怎么做?我想在一些已经定义的矩形边缘上显示 4 个圆圈?

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

【问题讨论】:

【参考方案1】:

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

要做你需要的,你必须在一个Component项目中定义你的Repeater,然后当鼠标被释放时创建那个组件,调用Component.createObject方法。

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

【讨论】:

以上是关于通过在QT QML中单击鼠标重复矩形的主要内容,如果未能解决你的问题,请参考以下文章

检测鼠标光标何时在 Qt5 和 QML 中的不规则形状图片上

QML:鼠标区域重叠的问题

libgdx 通过鼠标单击绘制矩形

Qt QML - 在 QML 中识别超出鼠标区域范围

java对于绘制的矩形,如何用鼠标双击可以选中这个矩形,并且可以通过方法在举行框中进行文本编辑.

VB.Net 如何通过鼠标单击和拖动来旋转矩形