Я пытаюсь испустить стандартную строку с сигналом qt. Сигнал будет доставлен в очередь. Я зарегистрировал тип с qRegisterMetaType, как он говорит в документации qt, но не повезло. Я регистрирую его так
qRegisterMetaType<std::string>("std::string")
Emit std::string с сигналом qt
Ответ 1
Вы также должны сделать:
Q_DECLARE_METATYPE (std::string)
Цитата Qt Doc
Добавление Q_DECLARE_METATYPE() делает тип, известный всем шаблонам основанные функции, включая QVariant. Обратите внимание, что , если вы собираетесь использовать тип в очереди сигналов и слотов или в QObject's системе свойств , вам также необходимо вызвать qRegisterMetaType(), поскольку имена разрешаются во время выполнения.