Ok, first off, sorry for what may be a moronic question, but it _is_ the newbie section after all

I'm learning c++/Qt4 by trial and error, and some reading, and one thing I consistently find myself needing as my application grows, is the need to alter data in other instances of my classes "higher up the chain". Confused? Me too, so an example is in order.

I have a MyClass, and in that implementation, I create a SubClass object, and in the SubClass implementation, I create YetAnotherSubClass. Now, in the YetAnotherSubClass implementation, I do some calculations, and have the need to write that value into a QLabel in the "upper" MyClass object. now, in the beginning, I found that object manually each time with a zillion parent()->parent calls (horrible, I know), but now I've found a slightly better way of doing that, and it's kinda like this (off memory here, so bear with me)

a loop from qApp that finds my MainApplication object, then loop through it's children looking for the object I want, say findChild<MyClass *>() and then call the function that sets that value.

But somehow I can't shake the feeling that this is wrong and cumbersome (not to mention it takes up about 10 lines of code each time I need to do it), and it's not the way "real programmers" do things. What have I missed here? I suspect it might be signal/slot related, but I can't connect the signal to the slot unless i find that top object first, so any ideas you care to toss in my general direction would be most appreciated

Regards, a hungry and growing Qt4 enthusiast.