如果我想在 qml 中可视化一个点,我可以这样做:
import QtQuick 2.4
import QtQuick.Window 2.2
import QtQuick.Controls 1.2
import QtQuick.Layouts 1.0
ApplicationWindow{
width: 1024
height: 256
visible: true
ColumnLayout {
anchors.fill: parent
Rectangle {
x: 10
y: 10
width: 5
height: 5
color: "white"
}
}
}
然而,矩形将从其左上角向下绘制。有没有办法绘制以x,y为中心的矩形?
谢谢
最佳答案
不按原样使用 Rectangle
,但您可以制作自己的物品。使用 transform 属性允许 x
和 y
引用矩形的中心。MyRectangle.qml
:
import QtQuick 2.0
Rectangle {
id: rect
transform: Translate {
x: -rect.width / 2
y: -rect.height / 2
}
}
然后你会像这样使用它:
import QtQuick 2.0
import QtQuick.Window 2.0
Window {
width: 200
height: 200
visible: true
MyRectangle {
x: 50
y: 50
width: 50
height: 50
color: "darkorange"
}
}
关于QML:我可以从它的中心而不是从它的角落画一个矩形吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30672837/