MouseArea 在 GroupBox 中的父级
MouseArea's parent in the GroupBox
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)
}
}
}
qml: parentQQuickItem_QML_15(0x3ad3590, "container") recGroupBox_QMLTYPE_12(0x3ad2790)
当Rectangle
中的MouseArea
时,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)
在大多数 QML 控件(和 windows)中,内部项占用控件本身的所有子项是常见的行为。它发生在 Window
, ScrollView
, Flickable
and even GroupBox
. Such a component is available as a property (usually) called 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: parent QQuickItem_QML_26(0x1411fc0, "container") contentItem QQuickItem_QML_26(0x1411fc0, "container")
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)
}
}
}
qml: parentQQuickItem_QML_15(0x3ad3590, "container") recGroupBox_QMLTYPE_12(0x3ad2790)
当Rectangle
中的MouseArea
时,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)
在大多数 QML 控件(和 windows)中,内部项占用控件本身的所有子项是常见的行为。它发生在 Window
, ScrollView
, Flickable
and even GroupBox
. Such a component is available as a property (usually) called 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: parent QQuickItem_QML_26(0x1411fc0, "container") contentItem QQuickItem_QML_26(0x1411fc0, "container")