Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Eten от Февраль 13, 2011, 09:35



Название: Как преобразовывать в QObject, наследуемые от него и базовые типы в Qt?
Отправлено: Eten от Февраль 13, 2011, 09:35
Как преобразовывать в QObject, наследуемые от него классы, а также базовые типы в Qt?

Т.е. вопрос в том, что я не могу вспомнить, как мне передавать через QObject, как базовый класс для объектов Qt, наследуемые от него классы, например QString. А также, я точно не знаю, есть ли возможность передавать, через Qt числовые типы данных.

Зачем оно мне нужно? Мне это нужно для выдачи классов и типов данных, т.е. их значений, через обобщенную функцию выдачи: QObject result::ReturnObject(uchar Modif, ushort Index). Она принимает модификатор в качестве числа указывающего на определенный список QList, из которого нужно вынуть определенный тип данных и вернуть его в качестве результата.

Т.е. я написал вот, так (в данном случае я пытаюсь, через _object, получить строку):
Код:
QObject result::ReturnObject(uchar Modif, ushort Index)
{
    QObject _object;
    switch (Modif) {
    case 2:
        QString s = this->ListString[Index];
        _object = (s)QObject;
        break;
    }
    return _object;
}

Помню, что в Си++ есть способ передачи, но давно забыл как это уже делается. Просьба поправить меня, если что-то с чем-то путаю или выбрал не то направление.  ;)


Название: Re: Как преобразовывать в QObject, наследуемые от него и базовые типы в Qt?
Отправлено: lit-uriy от Февраль 13, 2011, 10:11
>>передавать через QObject, как базовый класс для объектов Qt, наследуемые от него классы, например QString
с какого времени QString стал наследником QObject?

>>есть ли возможность передавать, через Qt числовые типы данных.
вообще ничего не понял


Название: Re: Как преобразовывать в QObject, наследуемые от него и базовые типы в Qt?
Отправлено: Eten от Февраль 13, 2011, 11:21
Получается я все попутал. ::) Ладно, пойду пока получше разберусь.


Название: Re: Как преобразовывать в QObject, наследуемые от него и базовые типы в Qt?
Отправлено: Eten от Февраль 24, 2011, 07:09
В общем разобрался с этой темой. Оказывается QObject это базовый для виджетов, а не как обычно для всех классов (чаще так встречал, вот и запутался). QVariant  тоже использовать особого смысла нет для общего хранения разной информации, т.к. оно для GUI и требует подключение этой библиотеки.

У меня получилось, что для хранения разных типов (они у меня обросли данными и стали классами с своей специфичной реализацией) лучше использовать базовые классы, но свои. В общем, спасибо Бьерну Страустрапу за его две книжки очень помогло быстро вспомнить о принципе наследования в классах и тем самым решить свой вопрос.

З.Ы.
Оффтоп: Обе книги Бьерна Страустрапа в онлайне можно найти, здесь (http://lib.ru/CPPHB/).


Название: Re: Как преобразовывать в QObject, наследуемые от него и базовые типы в Qt?
Отправлено: kuzulis от Февраль 24, 2011, 08:15
Цитата: Eten
Оказывается QObject это базовый для виджетов, а не как обычно для всех классов (чаще так встречал, вот и запутался). QVariant  тоже использовать особого смысла нет для общего хранения разной информации, т.к. оно для GUI и требует подключение этой библиотеки.
:-\
Что-что-что? ...


Название: Re: Как преобразовывать в QObject, наследуемые от него и базовые типы в Qt?
Отправлено: lit-uriy от Февраль 24, 2011, 21:21
>>Что-что-что?
В дельфях TObject - родитель для многих, если не для всех, классов.


Название: Re: Как преобразовывать в QObject, наследуемые от него и базовые типы в Qt?
Отправлено: Eten от Февраль 26, 2011, 05:54
>>Что-что-что?
В дельфях TObject - родитель для многих, если не для всех, классов.
В С# Object родитель для базовых типов (они там в виде классов представлены) и всех классов.

Ах да, я еще в оф. книжке прочитал, что от QObject в основном объекты Qt-о интерфейса наследуются.  ::)


Название: Re: Как преобразовывать в QObject, наследуемые от него и базовые типы в Qt?
Отправлено: Fat-Zer от Февраль 26, 2011, 11:02
Ах да, я еще в оф. книжке прочитал, что от QObject в основном объекты Qt-о интерфейса наследуются.  ::)
поправлю: QObject наследуют все, кто использует сигнал-слоты. Ну или наоборот... тут причина и следствия тождественны ;D


Название: Re: Как преобразовывать в QObject, наследуемые от него и базовые типы в Qt?
Отправлено: Eten от Февраль 26, 2011, 16:57
Ах да, я еще в оф. книжке прочитал, что от QObject в основном объекты Qt-о интерфейса наследуются.  ::)
поправлю: QObject наследуют все, кто использует сигнал-слоты. Ну или наоборот... тут причина и следствия тождественны ;D
Спасибо, теперь понятно из-за чего весь сыр бор.  ;)