Спасибо noosooth, вот рабочий пример, если кому интересно:
#include <QtCore/QCoreApplication>
#include <QVariant>
#include <iostream>
using namespace std;
class A
{
public:
A() :a_(0) {};
void print() const {cout<<"Class A mesage"<<std::endl;};
private:
int a_;
};
Q_DECLARE_METATYPE(A);
int main(int argc, char *argv[])
{
QCoreApplication app(argc, argv);
QVariant v;
A a;
v.setValue(a);
A aa = v.value<A>();
aa.print();
return 0;
}