绘制在x,y坐标的左侧

时间:2015-01-12 15:19:17

标签: qt drawing coordinates qml qt-quick

我目前在Qt上工作,当我尝试绘制一些东西(对于e.x矩形)给出它的x,y坐标&它的宽度和宽度高度Qt开始从x,y坐标开始绘制矩形到正确的方向,以展示我正在谈论的内容,见下图:

Rect1 http://i.share.pho.to/fda5886a_c.png

和以下代码:

Rectangle {
    id: rectangle1
    x: 257
    y: 221
    width: 50
    height: 50
    color: "#000000"
}

我想知道无论如何我都可以在x,y坐标的左边开始绘制,它就像绘制宽度和宽度一样。高度负值。请参阅下图以进行说明:

Rect2 http://i.share.pho.to/73577395_o.png

我尝试过绘制宽度为负值,它在设计模式下工作正常,但是当我运行或调试我的应用程序时,矩形没有显示,任何想法都会受到赞赏

2 个答案:

答案 0 :(得分:4)

您不能为此目的使用负值,因为QML不支持负宽度或高度。但您可以使用Scale类型来完成此任务:

Rectangle {
    id: rectangle1
    x: 257
    y: 221
    width: 50
    height: 50
    color: "#000000"

    transform: Scale { origin.x: 0; origin.y: 0; xScale: -1}
}

Scale可让您相对于任意点缩放项目。这里我们相对于它的内部点(0,0)缩放项目的X轴。

答案 1 :(得分:0)

从左侧父区域绘制矩形50px:

Rectangle {
    id: rectangle1
    x: parent.width - 50 // rectangle start 50px from the left
    y: 221  // similar with y pos: parent.height - 50
    width: 50
    height: 50
    color: "#000000"
}

但我不确定如果我理解你的问题。