QVariant is designed to be extended using the mechanisms MarekR22 outlines above. You can then use the named constructor QVariant::fromValue() or QVariant::setValue()
#include <QtCore>
#include <iostream>
Q_DECLARE_METATYPE(std::string)
int main(int argc, char *argv[])
{
qRegisterMetaType<std::string>("std::string");
std::string s("Test");
v2.setValue(s);
std::string t1 = v1.value<std::string>();
std::cout << t1 << std::endl;
std::string t2 = v2.value<std::string>();
std::cout << t2 << std::endl;
return app.exec();
}
#include <QtCore>
#include <iostream>
Q_DECLARE_METATYPE(std::string)
int main(int argc, char *argv[])
{
QCoreApplication app(argc, argv);
qRegisterMetaType<std::string>("std::string");
std::string s("Test");
QVariant v1( QVariant::fromValue<std::string>(s) );
QVariant v2;
v2.setValue(s);
std::string t1 = v1.value<std::string>();
std::cout << t1 << std::endl;
std::string t2 = v2.value<std::string>();
std::cout << t2 << std::endl;
return app.exec();
}
To copy to clipboard, switch view to plain text mode
Bookmarks