Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Продолжение перевода программы из Qt4.8 в Qt5 
:(
    Опции темы
OlegIT
Дата 25.5.2013, 07:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 684
Регистрация: 5.4.2006

Репутация: нет
Всего: нет



Начало мук здесь
Всё что писано руками перевёл, ошибок нет. Остаётся перевести классы форм. Но они же автоматом создаются, поэтому вручную править считаю не правильно. Как "заставить" креатор пересобрать классы из форм?
Каким дефайном можно обеспечить совместимость 4 и 5 версии,  пока приходится работать на обеих версиях.

PM MAIL   Вверх
bsa
Дата 27.5.2013, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 24
Всего: 196



OlegIT, что именно не работает? Как выглядит класс созданный для Qt4 и как он должен выглядеть для Qt5?
PM   Вверх
OlegIT
Дата 28.5.2013, 09:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 684
Регистрация: 5.4.2006

Репутация: нет
Всего: нет



Это классы хедеры, которых начинаются с ui_...
Там, например, есть инклюды (версия 4)
Код

#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>


В пятой версии многое из QtGui перенесли в QtWidget.

Второе, в версии 4 так
Код

QApplication::translate("GraphicElementProperties"…

а в пятой версии translate уже не в QApplication, а ... нет сейчас под рукой той самой пятой версии.

Нужно перегенерить ui_... Но как?

PM MAIL   Вверх
bsa
Дата 28.5.2013, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 24
Всего: 196



удали их. qmake сам сделает правила для make.
PM   Вверх
OlegIT
Дата 28.5.2013, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 684
Регистрация: 5.4.2006

Репутация: нет
Всего: нет



Делал так, удалил все ui... файлы, Очистить -> Запустить qmake -> Пересобрать. Не хочет креатор генерить эти файлы. Была у меня ситуация, креатор «потерял» связь между формой и файлом класса, не захотел регистрировать вновь введённые элементы управления. Как я не мучился, ни чего не получилось. Пришлось создать новый класс формы, скопировать на эту форму все элементы и только тогда новые элементы стали включаться в класс. Похоже здесь та же ситуация.
PM MAIL   Вверх
bsa
Дата 29.5.2013, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 24
Всего: 196



проверь, что файлы формы (ui) прописаны в pro.
PM   Вверх
OlegIT
Дата 29.5.2013, 20:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 684
Регистрация: 5.4.2006

Репутация: нет
Всего: нет



Да, они все включены

Цитата

FORMS += \
    *.ui \
.............


PM MAIL   Вверх
bsa
Дата 30.5.2013, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 24
Всего: 196



OlegIT, т.е. там так написано *.ui?  smile 
Перечисли их явно.
PM   Вверх
borisbn
Дата 30.5.2013, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 48
Всего: 135



Цитата(OlegIT @  29.5.2013,  20:15 Найти цитируемый пост)
FORMS += \
    *.ui \

 smile а так можно ?


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
OlegIT
Дата 6.6.2013, 22:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 684
Регистрация: 5.4.2006

Репутация: нет
Всего: нет



Цитата(bsa @  30.5.2013,  11:06 Найти цитируемый пост)
Перечисли их явно. 

Именно так и написано, перечислены все формы, имена файлов.

Цитата(borisbn @  30.5.2013,  11:47 Найти цитируемый пост)
а так можно ? 

Проект стоил не я, а QtCreator, поэтому так можно, если они сами не ошиблись, что вполне возможно, вспоминая как Creator добавляет внешние библиотеки.

Ещё раз уточню. Написано не *.ui, а <имя файла, формы>.ui

Это сообщение отредактировал(а) OlegIT - 7.6.2013, 08:30
PM MAIL   Вверх
bsa
Дата 7.6.2013, 10:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 24
Всего: 196



OlegIT, если <имя>.ui, то все должно работать. удали все ui_<имя>.h, перезапусти qmake, а затем make.
Кстати, ты используешь теневую сборку (сборка в отдельном от исходниках месте) или нет?
PM   Вверх
OlegIT
Дата 11.6.2013, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 684
Регистрация: 5.4.2006

Репутация: нет
Всего: нет



Сделал ещё раз так, удалил все ui_<имя>.h файлы, Очистить -> Запустить qmake -> Пересобрать. ui_<имя>.h не появились и, естественно компилятор ругается на отсутствие этих файлов. 
Это происходит только на Qt Creator 2.0.7 Qt 5.0.5 (32-х битной) Ревизия b6257ef735. На ранних версиях всё работает даже без Запустить qmake.

Цитата(bsa @  7.6.2013,  10:03 Найти цитируемый пост)
Кстати, ты используешь теневую сборку (сборка в отдельном от исходниках месте) или нет?

Галочка <Теневая сборка> стоит. Это галочка на работоспособность не влияет.
Кстати в Qt Creator 2.4.1 сборка Debug, Release внутри директории проекта позволялась, в Qt Creator 2.7.0 уже нельзя, что очень жаль.
PM MAIL   Вверх
bsa
Дата 11.6.2013, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 24
Всего: 196



Цитата(OlegIT @  11.6.2013,  20:50 Найти цитируемый пост)
Кстати в Qt Creator 2.4.1 сборка Debug, Release внутри директории проекта позволялась, в Qt Creator 2.7.0 уже нельзя, что очень жаль. 
Вообще-то это очень правильно.
PM   Вверх
OlegIT
Дата 11.6.2013, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 684
Регистрация: 5.4.2006

Репутация: нет
Всего: нет



Цитата(bsa @  11.6.2013,  21:31 Найти цитируемый пост)
Вообще-то это очень правильно.

Не согласен. Лучше что бы все версии сборки были в поддеректориях главной директории проекта, а не "размазывать" проекты по диску.
PM MAIL   Вверх
bsa
Дата 12.6.2013, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 24
Всего: 196



OlegIT, у qmake проблемы с размещением в одной поддиректории. а если разместить во втором уровне вложенности, то проблем нет: build/ - проблемы, build/debug - проблем нет.  smile 
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0560 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.