Folks I was hoping for some help with the hover event problem - events not being propagated properly when there are child items - as outlined in my post below. Any offers?
Ruth Ruth Ivimey-Cook wrote: > Hi > > It was suggested that I ask about this here. > > I have a graphics scene and want to monitor hover events for the items > in the scene, but they're not getting through. I've debugged the code > and the problem appears to be that I'm using a layered structure with > items having child items. So: > > GraphicsScene ---+ GroupItem ---+ GraphicsItem(s) > | | GraphicsItem(s) > | \ GraphicsItem(s) > | > + GroupItem ---+ GraphicsItem(s) > | | GraphicsItem(s) > | \ GraphicsItem(s) > | > + GroupItem ---+ GraphicsItem(s) > | GraphicsItem(s) > \ GraphicsItem(s) > > I create this structure by making a group event, adding children to it, > then adding the group to the scene. There are typically thousands of > graphics items in each group, and I group them so that (a) the z-order > of each group and hence each item is consistent, and (b) so that I can > recreate, hide and show groups without needing a total redraw. In the > real code, there are about 8 groups in all. > > It appears that the reason things don't get hover events is the code > that looks to see if such events need reporting isn't recursive down the > layers ( I think) but just looks at the item being added to the scene. > But if you enable hover events on the parent (group) item, so that when > the GraphicsItems are added to it the hover event flag is set, its > (only) the parent group that gets the events. > > If the hover event code is thus enabled, and matches more than one item > at a pixel location (i.e. there are several things at the same place on > the screen) then only the first in the list seems to get the event - > hence only the group getting events. > > A group item doesn't have a graphical appearance so IMO shouldn't ever > receive hovers... though perhaps that's up for debate. I'd certainly > like for the groups to ignore hovers and only have items see them. > > Any thoughts? > > Ruth > -- Software Manager & Engineer Tel: 01223 414180 Blog: http://www.ivimey.org/blog LinkedIn: http://uk.linkedin.com/in/ruthivimeycook/ _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest