如何在 QQuickPaintedItem 中选择一个区域
Posted
技术标签:
【中文标题】如何在 QQuickPaintedItem 中选择一个区域【英文标题】:How select an area in QQuickPaintedItem 【发布时间】:2014-11-19 11:48:00 【问题描述】:我想为我的 qml 图像编辑器构建一个选择工具。
为此,我正在QGraphicsScene
中寻找类似setSelectedArea
的功能。
有人对此有解决方案吗?
问候
编辑:也许我可以为我的选择工具编写一个插件,扩展 QQuickItem
并使用 openGL 绘制一个 QPolygon。
【问题讨论】:
【参考方案1】:您需要自己实现选择。
您可以创建 MouseArea 来跟踪鼠标活动并相应地更新选定的矩形。我的意思是这样的:
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
属性设置器中更新和绘制选择矩形。
【讨论】:
以上是关于如何在 QQuickPaintedItem 中选择一个区域的主要内容,如果未能解决你的问题,请参考以下文章
不能在 QML 中使用 C++ QQuickPaintedItem Singleton