You do it the way you have tried. This works for example:
#include <QtCore>
#include <QDebug>
Q_OBJECT
public:
};
Q_DECLARE_METATYPE( QSharedPointer<MyClass> )
int main(int argc, char *argv[])
{
QSharedPointer<MyClass> in( new MyClass );
QSharedPointer<MyClass> out = v.value<QSharedPointer<MyClass> >();
qDebug() << in << out << (in == out);
return 0;
}
#include "main.moc"
#include <QtCore>
#include <QDebug>
class MyClass: public QObject {
Q_OBJECT
public:
MyClass(QObject *p = 0): QObject(p) { }
};
Q_DECLARE_METATYPE( QSharedPointer<MyClass> )
int main(int argc, char *argv[])
{
QCoreApplication app(argc, argv);
QSharedPointer<MyClass> in( new MyClass );
QVariant v = QVariant::fromValue( in );
QSharedPointer<MyClass> out = v.value<QSharedPointer<MyClass> >();
qDebug() << in << out << (in == out);
return 0;
}
#include "main.moc"
To copy to clipboard, switch view to plain text mode
Bookmarks