Russian Qt Forum

Qt => Общие вопросы => Тема начата: fear от Август 15, 2006, 16:12



Название: Присвоить QVariant свой тип
Отправлено: fear от Август 15, 2006, 16:12
Как QVariant присвоить свой тип?


Название: Присвоить QVariant свой тип
Отправлено: bigirbis от Август 15, 2006, 16:20
QVariant::fromValue ( const T & value );


Название: Re: Присвоить QVariant свой тип
Отправлено: noosooth от Август 15, 2006, 19:11
Цитата: "fear"
Как QVariant присвоить свой тип?


Вероятно Вам будет интересно посмотреть в Assistant'е макрос
Q_DECLARE_METATYPE().


Название: Присвоить QVariant свой тип
Отправлено: fear от Август 16, 2006, 10:24
Спасибо 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;
}