在 x,y 坐标左侧绘制

Cod*_*ter 4 qt drawing coordinates qml qt-quick

我目前正在使用 Qt,当我尝试绘制一些东西(例如矩形)时,给出它的 x、y 坐标及其宽度和高度 Qt 开始从它的 x、y 坐标开始向正确的方向绘制矩形,以演示我在说什么请看下图:

矩形1

以及以下代码:

Rectangle {
    id: rectangle1
    x: 257
    y: 221
    width: 50
    height: 50
    color: "#000000"
}
Run Code Online (Sandbox Code Playgroud)

我想知道是否有任何方法可以开始在 x,y 坐标的左侧绘制,就像绘制宽度和高度为负值一样。请参阅下图进行说明:

矩形2

我曾尝试绘制给宽度一个负值,它在设计模式下工作正常,但是当我运行或调试我的应用程序时,矩形不显示,任何关于此的想法将不胜感激

Nej*_*jat 5

您不能为此使用负值,因为 QML 不支持负宽度或高度。但是您可以使用Scaletype 来完成此操作:

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

    transform: Scale { origin.x: 0; origin.y: 0; xScale: -1}
}
Run Code Online (Sandbox Code Playgroud)

Scale允许您相对于任意点缩放项目。在这里,我们相对于项目的内点 (0, 0) 缩放了项目的 X 轴。