我正在尝试用qt信号发出标准字符串。信号将按排队方式发送。我用qRegisterMetaType注册了这个类型,就像在qt文档中说的那样,但没有运气。我正在这样注册
qRegisterMetaType<std::string>("std::string")
答案 0 :(得分:17)
你也应该这样做:
Q_DECLARE_METATYPE (std::string)
引用Qt Doc
添加Q_DECLARE_METATYPE()会将类型已知到所有模板 基于功能,包括QVariant。请注意如果您打算使用 排队信号和插槽连接中的类型或在QObject中 属性系统,你也必须调用qRegisterMetaType() 名称在运行时解析。