Russian Qt Forum
Ноябрь 25, 2024, 23:03 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как преобразовывать в QObject, наследуемые от него и базовые типы в Qt?  (Прочитано 6225 раз)
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;
}

Помню, что в Си++ есть способ передачи, но давно забыл как это уже делается. Просьба поправить меня, если что-то с чем-то путаю или выбрал не то направление.  Подмигивающий
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #1 : Февраль 13, 2011, 10:11 »

>>передавать через QObject, как базовый класс для объектов Qt, наследуемые от него классы, например QString
с какого времени QString стал наследником QObject?

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

Юра.
Eten
Гость
« Ответ #2 : Февраль 13, 2011, 11:21 »

Получается я все попутал. Строит глазки Ладно, пойду пока получше разберусь.
Записан
Eten
Гость
« Ответ #3 : Февраль 24, 2011, 07:09 »

В общем разобрался с этой темой. Оказывается QObject это базовый для виджетов, а не как обычно для всех классов (чаще так встречал, вот и запутался). QVariant  тоже использовать особого смысла нет для общего хранения разной информации, т.к. оно для GUI и требует подключение этой библиотеки.

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

З.Ы.
Оффтоп: Обе книги Бьерна Страустрапа в онлайне можно найти, здесь.
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #4 : Февраль 24, 2011, 08:15 »

Цитата: Eten
Оказывается QObject это базовый для виджетов, а не как обычно для всех классов (чаще так встречал, вот и запутался). QVariant  тоже использовать особого смысла нет для общего хранения разной информации, т.к. оно для GUI и требует подключение этой библиотеки.
В замешательстве
Что-что-что? ...
Записан

ArchLinux x86_64 / Win10 64 bit
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #5 : Февраль 24, 2011, 21:21 »

>>Что-что-что?
В дельфях TObject - родитель для многих, если не для всех, классов.
Записан

Юра.
Eten
Гость
« Ответ #6 : Февраль 26, 2011, 05:54 »

>>Что-что-что?
В дельфях TObject - родитель для многих, если не для всех, классов.
В С# Object родитель для базовых типов (они там в виде классов представлены) и всех классов.

Ах да, я еще в оф. книжке прочитал, что от QObject в основном объекты Qt-о интерфейса наследуются.  Строит глазки
« Последнее редактирование: Февраль 26, 2011, 06:02 от Eten » Записан
Fat-Zer
Гость
« Ответ #7 : Февраль 26, 2011, 11:02 »

Ах да, я еще в оф. книжке прочитал, что от QObject в основном объекты Qt-о интерфейса наследуются.  Строит глазки
поправлю: QObject наследуют все, кто использует сигнал-слоты. Ну или наоборот... тут причина и следствия тождественны Смеющийся
Записан
Eten
Гость
« Ответ #8 : Февраль 26, 2011, 16:57 »

Ах да, я еще в оф. книжке прочитал, что от QObject в основном объекты Qt-о интерфейса наследуются.  Строит глазки
поправлю: QObject наследуют все, кто использует сигнал-слоты. Ну или наоборот... тут причина и следствия тождественны Смеющийся
Спасибо, теперь понятно из-за чего весь сыр бор.  Подмигивающий
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.162 секунд. Запросов: 23.