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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Перевод приложения из Qt3 в Qt4  (Прочитано 4572 раз)
Sandoran
Гость
« : Август 05, 2011, 10:21 »

Здравствуйте, форумчане!

Столкнулся с такой проблемой - быть может, на форуме она тривиальна. Есть программа, написанная в Qt 3.3.3 (среда ПС Конструктор, грубо - русифицированный Qt Designer).
Задача - перевести приложение в Qt4. В наличии - все исходники проекта, Makefile  и т.д. ПС Конструктора, моего родного, под Qt4 не существует. В среде Qt4 использовал Qt Designer - перевёл формы в Qt4. Далее планирую использовать Qt Creator, если понадобится дописать код (как я понимаю, из Qt Designer редактор кода изъят).
Что я сделал далее:
1) Добавил в .pro-файл QT += q3support.
2) Создал отдельный .qrc-файл, в нём конкретно описал используемые в проекте иконки, добавил в .pro-файл RESOURCES += "Имя проекта".qrc
Эти 2 действия позволили избежать ошибок с qmake_image_collection.cpp

Теперь получаю ошибки следующего рода. На содержание файла main.cpp:

Код:
#include <qapplication.h>
#include <qtranslator.h>
#include "form0.h"
int main( int argc, char ** argv )
{
QApplication a( argc, argv );
Form0 *w = new Form0;
w->show();
//a.setMainWidget( w ); - В Qt4 в строке нет необходимости
int res = a.exec();
if ( w ) delete w;
return res;
}

 - Qt Creator выдает:

"'Form0' undeclared;
'w' undeclared;
syntax error before ';' token"

То же - при сборке вручную, через Makefile. (Иногда выдаёт конфликт 'File generated with too recent version of QtDesigner (4.0 vs 3.3.3)' )

Помогите, чем сможете ))




Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #1 : Август 05, 2011, 11:39 »

Цитировать
Иногда выдаёт конфликт 'File generated with too recent version of QtDesigner (4.0 vs 3.3.3)'
В путях вначале стоит qt3 и сборка идёт qt3 утилитами.

Пересозданные старые формы без переписки кода просто подгрузить не получится.
Самый простой путь - оставить старые формы без изменения и компилить их uic3. Для этого в pro-файле нужно все старые формы прописать в FORMS3.

В общем читай Портирование на Qt 4.
« Последнее редактирование: Август 05, 2011, 11:55 от GreatSnake » Записан

Qt 5.11/4.8.7 (X11/Win)
Sandoran
Гость
« Ответ #2 : Август 09, 2011, 09:58 »

Спасибо. Инструмент портирования qt3to4 пробовал, да и сам Qt Designer 4 формы .ui переводит. В конце концов упёрся в разницу работы с базами данных - библиотеки DAO. Пробую ручной перенос библиотек, но как я понял, придётся использовать инструментарий в составе Qt Creator 4 и переписывать код для работы с БД.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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