当MouseArea在GroupBox中时,它的父级是什么?parent指的是一些container
GroupBox {
width: 100; height: 100
id: rec
MouseArea {
anchors.fill: parent
acceptedButtons: Qt.LeftButton | Qt.RightButton
onClicked: {
console.log("\tparent" + parent + "\trec" + rec)
}
}
}parentQQuickItem_QML_15(0x3ad3590,“容器”) recGroupBox_QMLTYPE_12(0x3ad2790)
当MouseArea在Rectangle中时,Rectangle是它的父级:
Rectangle {
width: 100; height: 100
id: rec
color: "green"
MouseArea {
anchors.fill: parent
acceptedButtons: Qt.LeftButton | Qt.RightButton
onClicked: {
console.log("\tparent" + parent + "\trec" + rec)
}
}
}qml: parentQQuickRectangle(0x39d0cd0) recQQuickRectangle(0x39d0cd0)
发布于 2015-07-21 13:06:00
在大多数QML控件(和窗口)中,一个内部项占据控件本身的所有子项是常见的行为。这种情况发生在Window、ScrollView、Flickable甚至GroupBox身上。这样的组件可以作为一个称为contentItem的属性(通常)使用。
如果您编写了一个打印这样一个属性的示例,您将看到contentItem是您要搜索的父级:
import QtQuick 2.4
import QtQuick.Controls 1.3
ApplicationWindow {
id: container
width: 640
height: 480
visible: true
property int clicksCounter: 0
GroupBox {
width: 100; height: 100
id: rec
MouseArea {
anchors.fill: parent
acceptedButtons: Qt.LeftButton | Qt.RightButton
onClicked: {
console.log("\tparent " + parent + "\tcontentItem " + rec.contentItem)
}
}
}
}输出:
qml:父QQuickItem_QML_26(0x1411fc0,“容器”) contentItem QQuickItem_QML_26(0x1411fc0,“容器”)
https://stackoverflow.com/questions/31539627
复制相似问题