Russian Qt Forum

Qt => Qt-инструментарий => Тема начата: Alex_Crack от Октябрь 09, 2011, 18:36



Название: Не применяются изменения в ui
Отправлено: Alex_Crack от Октябрь 09, 2011, 18:36
Здравствуйте.
Проблема такая: пересел на другой дистрибутив (с Mandriva на Kubuntu). Скачал и поставил последнюю версию QtSDK.
Открываю свои старые проекты, редактирую код, все компилится и работает.
Однако, если сделать какие-либо изменения на форме, то в редакторе они сохраняются, если открыть ui файл блокнотом, то там тоже все в порядке. Но в редакторе кода не видятся (например, добавил на форму новый QLabel label22, набираю в коде ui->label22, но компилятор ругается на отсутствие его). Так же если скомпилировать программу (не используя новые виджеты в коде), то после компиляции их не видно на форме.


Название: Re: Не применяются изменения в ui
Отправлено: iroln от Октябрь 09, 2011, 18:40
Я так понимаю, это всё в Qt Creator происходит? У меня то же самое было, в какой-то момент перестаёт компилировать форму из ui файла в cpp-исходник. Так и не нашёл способ это забороть, компилировал форму вручную.


Название: Re: Не применяются изменения в ui
Отправлено: Alex_Crack от Октябрь 09, 2011, 18:42
Я так понимаю, это всё в Qt Creator происходит? У меня то же самое было, в какой-то момент перестаёт компилировать форму из ui файла в cpp-исходник. Так и не нашёл способ это забороть, компилировал форму вручную.
Да, в QtCreator.
Хотелось бы решить этот вопрос.
Но если не получится, то как компилировать форму вручную?


Название: Re: Не применяются изменения в ui
Отправлено: andrew.k от Октябрь 09, 2011, 18:55
У меня был такой глюк. Но не в креаторе.
Помогало открыть ui текстовым редактором и сохранить.
Только чтобы обязательно произошло сохранение, т.е. вставить символ и тутже удалить.
Чтобы редактор увидел изменения. После этого компилятор обнаруживал изменения.


Название: Re: Не применяются изменения в ui
Отправлено: Alex_Crack от Октябрь 09, 2011, 19:07
Решил проблему.
В общем так:
1. Удалить shadow-build каталог;
2. Удалить из каталога с сырцами все файлы кроме *.cpp, *.h, *.ui, *.pro.
3. Обратить внимание на файлы, которых не должно быть в проекте (у меня как раз был файл ui_agent.h, из-за расширения не обращал на него внимания, а потом посмотрел, что у меня в проекте такого файла нету. Как я понял, до перехода на новый дистрибутив и новый QtSDK программа собиралась в каталоге с исходниками, а не в shadow-build каталоге. Теперь она собирается другом каталоге, но каким-то образом цеплялся файл ui_agent.h с каталога с сырцами, а не с shadow-build каталога.

Спасибо всем.