typecast, Type Identification and qobject_cast