私は QT ベースのアプリケーションに取り組んでいます。私のクラスの 1つは、 QAbstractTableModelの子クラスです。データ関数の戻り値の型はQVariant (Union) ですが、カスタム型を返したいstd::vector<QString>
Q_DECLARE_METATYPE();
QVariant で新しい型を使用できるようにすることについて知りました。
-テストケースコード-
#include <QApplication>
#include <QMetaType>
#include <vector>
#include<QVariant>
Q_DECLARE_METATYPE(std::vector<QString>);
QVariant data(int role)
{
std::vector<QString> test1;
test1.push_back("Dtd");
test1.push_back("Dtd");
return test1;
}
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
data(1);
return app.exec();
}
このエラーが発生しています
エラー: 'test1' を 'std::vector< QString >' から 'QVariant' に変換できませんでした</p>
足りないものがあります。助けてください