Russian Qt Forum
Ноябрь 26, 2024, 01:20
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
QObject должен быть первым базовым классом
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: QObject должен быть первым базовым классом (Прочитано 4600 раз)
Akon
Гость
QObject должен быть первым базовым классом
«
:
Апрель 03, 2012, 08:23 »
Кто нить выяснял? В чем техническая причина сего ограничения?
Записан
Makss
Гость
Re: QObject должен быть первым базовым классом
«
Ответ #1 :
Апрель 03, 2012, 09:05 »
Не обязательно! смотря что вы хотите получить в результате наследования. Если нужен не гуёвый класс с механизмом сигнал-слот, то от QObject, иначе можно и не наследоваться
Записан
mutineer
Гость
Re: QObject должен быть первым базовым классом
«
Ответ #2 :
Апрель 03, 2012, 10:04 »
Цитата: Akon от Апрель 03, 2012, 08:23
Кто нить выяснял? В чем техническая причина сего ограничения?
Скорее всего дело в особенностях moc - видимо он не настолько интелектуален, чтобы нормально отработать если наследник QObject не первый в списке
Записан
sudo
Гость
Re: QObject должен быть первым базовым классом
«
Ответ #3 :
Апрель 03, 2012, 14:41 »
Цитата: Makss от Апрель 03, 2012, 09:05
Не обязательно! смотря что вы хотите получить в результате наследования. Если нужен не гуёвый класс с механизмом сигнал-слот, то от QObject, иначе можно и не наследоваться
Не обязательно наследоваться от QObject? Ясно дело. Не обязательно, чтобы QObject был первым базовым? Ну да, Нокиа хрень какую-то написала в документации. Гуи тут при чём? Для чего нужен QObject, знаем?
Записан
Bepec
Гость
Re: QObject должен быть первым базовым классом
«
Ответ #4 :
Апрель 03, 2012, 14:53 »
меня эта тема сегодня спасла от сумасшедствия. Пытался часа полтора привить к ГрафикИтему сигналы
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: QObject должен быть первым базовым классом
«
Ответ #5 :
Апрель 03, 2012, 15:01 »
Помню эту рекомендацию (QObject должен быть первым), но также помню что никаких реальных аргументов не увидел. Видимо "если QObject первый, то точно все будет работать, а иначе хз". И действительно, ведь запомнить букварь куда проще чем чего-то там думать, да еще ошибаться
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: QObject должен быть первым базовым классом
«
Ответ #6 :
Апрель 03, 2012, 15:02 »
Цитата: Bepec от Апрель 03, 2012, 14:53
меня эта тема сегодня спасла от сумасшедствия. Пытался часа полтора привить к ГрафикИтему сигналы
Код
C++ (Qt)
class
MyItem
:
public
QObject
,
public
QGraphicsItem
{
Q_OBJECT
...
}
;
не?
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
sudo
Гость
Re: QObject должен быть первым базовым классом
«
Ответ #7 :
Апрель 03, 2012, 15:04 »
Метод void Moc::checkSuperClasses(ClassDef* def)
В коде из списка базовых классов вытаскивается первый. Сделано это скорее всего из-за каких-то языковых ограничений при наследовании. Кто нагуглит, киньте ссылкой чтоль
Записан
Bepec
Гость
Re: QObject должен быть первым базовым классом
«
Ответ #8 :
Апрель 03, 2012, 15:07 »
Именно kambala, именно.
Я то, прости тролле, когда то об этом читал, но забыл
Блатыкался час, мб даже 2. Потом темку увидел и осенило
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...