Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Общие вопросы _ как создать указатель на любой Qt тип?

Автор: Litkevich Yuriy 7.4.2008, 14:05

в хидере надо создать указатель

*wgt

а в файле реализации создать виджет в зависимости от константы, схематично так:
switch (type)
{
    case T1:
        wgt=new QSpinBox;
        break;
    case T2:
        wgt=new QDateTimeEdit;
        break;
    case T3:
        wgt=new QComboBox;
        break;
}


вопрос, как лучше провернуть это дело в Qt, т.е. какой тип указателя нужно сделать, и как тип приводить?

В Qt'ях существует QVariant и qobject_cast, т.е. void'ные указатели вроде как не применяют

Автор: ViGOur 7.4.2008, 14:11

Приводи к QObject.

Автор: rich 7.4.2008, 20:39

Цитата
В Qt'ях существует QVariant и qobject_cast, т.е. void'ные указатели вроде как не применяют

почему QVariant void'ый?можетне определенный пит,пака зтого не нужно в коде?

Автор: Tonal 8.4.2008, 10:09

2 Litkevich Yuriy Вроде общий у них QWidget.
А зачем это нужно? Задачу можешь более подробно рассказать?

Автор: Litkevich Yuriy 8.4.2008, 17:21

я так и зделал, на QWidget.

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)