[Interest] When is parent not the parent?

Jason H jhihn at gmx.com
Thu Dec 12 00:04:33 CET 2019


A simple Screen item derived from Item whose visible is false:

Screen {
	id: proxScreen
	property int distanceEvents: 0
	property string lastValue: "Far"

	ProximitySensor {
		id: proximity
		active:parent.visible
	}
}

When I change the line:
    active: parent.visible
to:
    active: proxScreen.visible

The behavior changes. When it is referencing it as parent, the proximity sensor is active. When I use proxScreen instead, it is not active.
"
Reading up on this, it seems to be because parent refers only to the "visual parent". Which, I think is fine. The parent of the ProximitySensor is an Item, it has a visual parent. However this doesn't seem to be the case because ProximitySensor is not an Item itself so regardless of it's parent being a "visual parent". Therefore the docs are wrong, misleading or confusing.

How much would it break things of we just made everything that is a child of something have a parent? I think it's completely reasonable to say (as I attempted to above) that this thins is only active when its parent is visible. I don't know how or what was being resolved as it's parent. I would have expected a "property not found" error or something, but I didn't get that.

Given this kind of error, I suggest we just let everything have a parent, visual or not. It's unnatural to have so many things have a parent, and some others not.

Thoughts?





More information about the Interest mailing list