Hello, I am trying to figure out how to pass objects derived from a pure virtual class and encountered several issues (I guess):
There are 2 classes derived from InputDeviceConfiguratorGate: JoystickDeviceConfigurator and KeyboardDeviceConfigurator. If I try to register them like: qmlRegisterUncreatableType<JoystickDeviceConfigurator>( "JoystickDeviceConfigurator", 1, 0, "JoystickDeviceConfigurator", "Not creatable in Qml." ); qmlRegisterUncreatableType<KeyboardDeviceConfigurator>( "KeyboardDeviceConfigurator", 1, 0, "KeyboardDeviceConfigurator", "Not creatable in Qml." ); Then Qml throws: QMetaType::registerTypedef: -- Type name 'InputDeviceConfiguratorGate*' previously registered as typedef of 'JoystickDeviceConfigurator*' [1049], now registering as typedef of 'KeyboardDeviceConfigurator*' [1052]. If I to use qmlRegisterInterface<InputDeviceConfiguratorGate>( "InputDeviceConfiguratorGate" ); Then I can't use the actual interface in Qml. (I can? How?) I already asked on the qt forum: https://forum.qt.io/topic/79589/how-to-use-a-virtual-interface-in-qml-with-qmlregisterinterface https://forum.qt.io/topic/79691/how-to-use-a-specialization-of-an-c-interface to find out someone else opened the topic 2 years ago: https://forum.qt.io/topic/54387/how-do-you-use-c-interfaces-pure-virtual-class-in-qml Thanks for your time.
_______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
