在 x,y 坐标的左侧绘图
Drawing to the left of x,y coordinates
我目前在 Qt 上工作,当我尝试绘制一些东西(对于 e.x 矩形)时给出其 x、y 坐标及其宽度和高度 Qt 开始从其 x 开始绘制矩形, y 坐标向正确的方向,为了演示我在说什么请看下图:
和以下代码:
Rectangle {
id: rectangle1
x: 257
y: 221
width: 50
height: 50
color: "#000000"
}
我想知道我是否可以开始在 x,y 坐标的左侧绘图,这就像给宽度和高度负值绘图一样。请参见下图:
我试过给宽度赋予一个负值,它在设计模式下工作正常,但是当我 运行 或调试我的应用程序时,矩形没有出现,对此有任何想法将不胜感激
绘制距左父区域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"
}
但是我不确定我是否正确理解了你的问题。
您不能为此目的使用负值,因为 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
允许您相对于任意点缩放项目。这里我们缩放项目的 X 轴相对于它的内部点 (0, 0)。
我目前在 Qt 上工作,当我尝试绘制一些东西(对于 e.x 矩形)时给出其 x、y 坐标及其宽度和高度 Qt 开始从其 x 开始绘制矩形, y 坐标向正确的方向,为了演示我在说什么请看下图:
和以下代码:
Rectangle {
id: rectangle1
x: 257
y: 221
width: 50
height: 50
color: "#000000"
}
我想知道我是否可以开始在 x,y 坐标的左侧绘图,这就像给宽度和高度负值绘图一样。请参见下图:
我试过给宽度赋予一个负值,它在设计模式下工作正常,但是当我 运行 或调试我的应用程序时,矩形没有出现,对此有任何想法将不胜感激
绘制距左父区域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"
}
但是我不确定我是否正确理解了你的问题。
您不能为此目的使用负值,因为 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
允许您相对于任意点缩放项目。这里我们缩放项目的 X 轴相对于它的内部点 (0, 0)。