昨天调试项目时,突然发现如下消息: QObject::connect: Cannot queue arguments of type 'ERROR_LEVEL' (Make sure 'ERROR_LEVEL' is registered using qRegisterMetaType().) 其中ERROR_LEVEL只是我定义的枚举类型即enum ERROR_LEVEL.然后在Qt的信号-槽函数的参数中使用了这个枚举型,在发送信号时就出现了上述警告.上面警告的大概意思是信号队列中无法使用ER
一般情况下信号槽直接连接方式不会出现问题,但是如果信号与槽在不同线程或Qt::QueuedConnection方式连接,可能会在连接期间报以下类似问题,如: QObject::connect: Cannot queue arguments of type 'ThreadSignal' (Make sure 'ThreadSignal' is registered using qRegisterMetaType().) 或者 QObject::connect: Cannot queue argum
最近在使用Google的Gson包进行Json和Java对象之间的转化,对于包含泛型的类的序列化和反序列化Gson也提供了很好的支持,感觉有点意思,就花时间研究了一下. 由于Java泛型的实现机制,使用了泛型的代码在运行期间相关的泛型参数的类型会被擦除,我们无法在运行期间获知泛型参数的具体类型(所有的泛型类型在运行时都是Object类型). 但是有的时候,我们确实需要获知泛型参数的类型,比如将使用了泛型的Java代码序列化或者反序列化的时候,这个时候问题就变得比较棘手. class Foo<T>