![]() |
|
|
![]()
|
|
| OlegIT |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 684 Регистрация: 5.4.2006 Репутация: нет Всего: нет |
На Windows 7 установил Qt 5.0.2 for Windows 32-bit (MinGW 4.7, 650 MB) (QtCreator и Qtlib), mingw-get-inst-20120426.exe.
Компиляция сразу выдаёт ошибку, нет системных файлов <QApplication>, <QDialog> ... Сравнил настройки с работающей версией на другом компьютере, правда, там установлен QtSDK с версией Qt 4.8.4, разницы не увидел. Где, чего не пропмсанно? |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
OlegIT, Qt версии 5 имеет некоторую несовместимость. попробуй добавить в pro-файл:
|
|||
|
||||
| OlegIT |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 684 Регистрация: 5.4.2006 Репутация: нет Всего: нет |
Ситуация немного улучшилать, прямые ссылки, <QApplication>, <QDialog>, "проглатывает", но ссылки в поддерикториях, например <QtGui/QGraphicsView>, не видит. Надо принудительно каждый модуль добавлять?
|
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
OlegIT, вообще-то надо подключать <QGraphicsView>. Где ты прочитал про QtGui/QGraphicsView?
|
|||
|
||||
| OlegIT |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 684 Регистрация: 5.4.2006 Репутация: нет Всего: нет |
Поиск по установленному Qt дал восемь хедер файлорв с таким написанием и десять с <QGraphicsView>. Из примеров все мои программы развиты. В четвёртой версии обходился как-то без этого. Это сообщение отредактировал(а) OlegIT - 12.5.2013, 15:26 |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
Это вторая страница Getting Started для Qt-5.0: http://qt-project.org/doc/qt-5.0/qtdoc/gettingstartedqt.html
это для Qt-4.8: http://qt-project.org/doc/qt-4.8/gettingstartedqt.html Везде подключение идет вида #include <ClassName> Если у тебя раньше что-то нестандартное работало, то это не значит, что оно должно работать всегда. |
|||
|
||||
| _DOOMer_ |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 19.11.2007 Репутация: нет Всего: нет |
В Qt5 Gui-модуль перелопатили немного, выделив из него QtWidgets http://qt-project.org/doc/qt-5.0/qtwidgets...gets-index.html Поэтому часть старых инклудов в стиле <Module/Class> поломались. Это сообщение отредактировал(а) _DOOMer_ - 13.5.2013, 13:44 |
|||
|
||||
| OlegIT |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 684 Регистрация: 5.4.2006 Репутация: нет Всего: нет |
||||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
OlegIT, ты о чем? Где в документации написано, что надо писать <QtGui/QGraphicsView>? Если ты сам не следуешь правилам, то рано или поздно, наступишь на грабли. Потому что сохраняя совместимость мало кто не будет учитывать всякие недокументированные вещи, которые раньше могли работать чисто случайно.
|
|||
|
||||
| OlegIT |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 684 Регистрация: 5.4.2006 Репутация: нет Всего: нет |
Так я не про <QtGui/QGraphicsView>. Начал сравнивать, править, правильно _DOOMer_ говорит, там всё переделано.
Так, похоже нет, например объединяющего qwidget, приходится напрямую хедер каждого модуля вписывать. Наверное это правильно, но, опять же, совместимость. Посмотрел куда QtSDK установил QGraphicsView
Получается в моём коде ни какого "криминала" нет. Это сообщение отредактировал(а) OlegIT - 20.5.2013, 08:31 |
|||
|
||||
| bsa |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
OlegIT, криминала нет. но работать не работает. Если подключать qgraphicsview.h, то тоже криминала не будет до определенного момента. Не выдумывай. Делай так, как написано в документации.
Обычно, в проектах включают прекомпилированные заголовки и в cpp файлах подключают <QtGui> <QtCore> и пр. А в хидерах использовать надо или <ClassName>, или:
|
||||
|
|||||
| _DOOMer_ |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 19.11.2007 Репутация: нет Всего: нет |
Это чтобы типа разом заинклудить сразу целый модуль, типа #include <QtWidgets>? А смысл? ИМХО, удобней и наглядней икнулдить только используемые хедеры.
Ну так, смена мажорной версии фреймворка с 4 на 5 предполагает что чего-нить да "поломают". Переписать некоторые инклуды - это не так уж и много (ибо даже в рамках крупного проекта делается один раз и все). |
|||
|
||||
| OlegIT |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 684 Регистрация: 5.4.2006 Репутация: нет Всего: нет |
Согласен, пятая версия чётче и нагляднее, и правельнее. Просто как-то неожиданно было в рабочем проекте сотни ошибок получить:)
По QWidget не прав, извиняюсь, там модулями подключалось, #include <QtGui>... |
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |