Metaobject Reflect child classes from base classes in C++

We want a solution in C++ that must be able to do the following:
Given a string of particular type, lets say 'A', we want to find all the types that derives from 'A'.
Instantiate new objects out of the types that are derived from 'A'.
E.g. Lets say we have a class, VehicleEntity. VehicleEntityhas child classes, PassangerCarEntity, TruckEntity, TrainEntity, BoatEntity.
We are unsure what vehicle entities there may be as the a library could be added containing more VehicleEntities. E.g. an AirplaneEntity thaterives from VehicleEntity could be added after deployment.
In the application, when a user wants to select a VehicleEntity, the user should be able to pick any of the entities deriving from VehicleEntity. This includes the PassangerCarEntity, TruckEntity, TrainEntity, BoatEntity and AirplaneEntity.
The user selects an Entity, lets say AirplaneEntity, A new object of type AirplaneEntity must be instantiated.

The following is an concept example in C# of what we want to achieve in C++.
In C# the items for the dropdown list can be retrieved as follows:
@Type vehicleEntityType = typeof(VehicleEntity);
List<Type> types = new List<Type>();
foreach (Assembly assembly in AppDomain.CurrentDomain.GetAssemblies())
types.AddRange(assembly.GetTypes().Where(x => vehicleEntityType.IsAssignableFrom(x) && !x.IsGenericType && !x.IsAbstract));
dropDownBox.ItemList = types;

Is this possible in QT?
From the documentation it seems that all this is possible with the possible exception of finding a list of all the classes deriving from a base class. Finding all of the types in the application would be usefull, but this does not seem possible. Is this correct?

From the documentation it does not seem possible to access the types if the types has not been instantiated into an object yet. This is unfortunately a requirement for us. Am I perhaps missing something?

[quote author="christoffk" date="1386137416"]From the documentation it does not seem possible to access the types if the types has not been instantiated into an object yet. This is unfortunately a requirement for us. Am I perhaps missing something?[/quote]

If you want to fetch all staticMetaObjects of the whole application there is a hacky solution which I've done for my former company. The moc tool is written in a way that you can use it's code (without modifying it) to implement your own tool. This means you can add your own tool that executes after the moc compilation step and builds a database for staticMetaObject's.
Since this introduces an additional tool that runs on build, it is rather the hacky solution ;)