如何在QQuickPaintedItem中选择一个区域

时间:2014-11-19 11:48:01

标签: qt qml selection image-editing

我想为qml图像编辑器构建一个选择工具。

为此,我正在QGraphicsScene中寻找类似setSelectedArea的功能。 有人有解决方案吗?

问候

编辑:也许我可以为我的选择工具编写插件,扩展QQuickItem并使用openGL绘制QPolygon。

1 个答案:

答案 0 :(得分:2)

您需要自己实施选择。

您可以创建MouseArea来跟踪鼠标活动并相应地更新所选的rect。我的意思是这样的:

DocumentViewer { // Your QQuickPaintedItem
    id: viewer
    MouseArea {
        anchors.fill: parent
        acceptedButtons: Qt.LeftButton
        property real originX: 0
        property real originY: 0
        onPressed: {
            originX = mouse.x
            originY = mouse.y
        }
        onPositionChanged: {
            var width = mouse.x - originX
            var height = mouse.y - originY
            viewer.selectionRect = Qt.rect(originX, originY, width, height)
        }
    }
}

然后,您将能够在查看器的selectionRect属性设置器中更新和绘制选择矩形。