Если я зарегистрировать пользовательский тип, как в следующем, для использования в очереди соединений:регистрирующие типа против контейнеров
Q_DECLARE_METATYPE(MyClass);
qRegisterMetaType<MyClass>();
можно использовать тип в очереди связи с сигналами, как этот:
void MySignal(MyType o);
Теперь я хотел бы использовать тип с сигналами, как это:
void MyVectorSignal(QVector<MyType> v);
Я помню, что читал где-то что Qt автоматически позволяет использовать зарегистрированные типы с контейнерами без явной регистрации конкретной комбинации типа/контейнера.
Но это не сработало для меня. Я также должен был зарегистрировать контейнер:
Q_DECLARE_METATYPE(QVector<MyType>);
qRegisterMetaType<QVector<MyType>>();
Должно ли оно работать без последнего регистрационного кода? Это действительно необходимо? Должны ли контейнеры работать из коробки?