LINUX.ORG.RU

QTCreator ушёл в отказ: не генерит код из формы

 , , , ,


0

1

Здрасьте всем!

Работаю в qtcreator 4.2.0, библятека 5.7.1, система Raspbian-Stretch, железо, как вы догадались, малиновое. Ставил всё из репозиториев автоматом. Успешно клепаю своё гуи-приложение уже несколько месяцев и всё шло хорошо, пока я не столкнулся с неведомой загадочной пихнёй...

Перехожу к сути: Все, наверное в курсе, что при создании формы в кут-дизайнере, последний генерит файл *.ui, из которого потом uic производит файл ui_*.h, который потом скармливается компилятору вместе с остальным хламом, полученным из того, что есть в проекте. Кроме того, IDE создаёт болванки *.h и *.cpp, в которых программист оформляет поведение формы. Я использую теневой билд, и поэтому ui_*.h улетает в папку билда (и <как бы> не включаются в проект), а *.h и *.cpp остаются в папке проекта и хорошо себя чувствуют.

Так вот, у меня почему-то перестали создаваться *.h и *.cpp для созданной формы. Их просто нет и всё. А пока их нет, я не могу ни запрограммировать саму форму, ни заинклудить её в другие файлы. И что странно: при попытке перейти от элемента формы к его слоту (из дизайнера), он жалуется, что не может найти ui_*.h, в связи с чем возникает два вопроса:

1. Зачем ему ui_*.h, если слот пишется в *.h/*.cpp ? 2. Почему он его не видит, если он есть? (сразу скажу, что перемещение оного в папку с исходниками ситуацию не меняет)

*.ui успешно добавляется в FORMS автоматически. Сам дизайнер советует ребилд, и говорит, что «это может помочь». Очень смешно, и не помогает. Проект успешно компилится и собирается, но хедера и тела по-прежнему нет. Я пробовал создавать проект заново, перетаскивая исходники «на чистое». Делал и проект, в котором вообще ничего, кроме двух пустых окошек - mainwindow и anotherwindow. Ситуация с anotherwindow такая же печальная... При попытке откомпилить форму отдельно (ctrl-alt-B) вылетает ошибка, что нет цели для *.o. Ну естественно, откуда ж ей взяться (((. Глобальные вопросы:

3. Что случилось? 4. Что делать?



Последнее исправление: MadKid (всего исправлений: 3)

Ответ на: комментарий от ox55ff

Это я случайно недописанное отправил

MadKid
() автор топика

Предполагаю, что ты делаешь так: Добавить новый... -> Qt -> Форма Qt Designer.

Вместо того, что бы в последнем пункте выбрать «Класс формы Qt Designer»

SR_team ★★★★★
()
Ответ на: комментарий от SR_team

ОПАЧКИ! заработало!

при создании КЛАССА чёрным по белому в диалоге сообщает же: будут созданы хедер и тело... а я почему-то и не смотрел в эту сторону..

Спасибо, мой вопрос отвечен и я могу делать своё дело дальше )). Но тогда у меня другой вопрос (для общего развития): какой смысл в создании формы без сопутствующего кода? Ну нарисую я красивую голую форму, и что я с ней буду делать? Как файл .ui можно использовать в дальнейшем?

Зачем эта опция в интерфейсе IDE?

MadKid
() автор топика
Ответ на: комментарий от fluorite

Аа, от оно чо. Спасибо, я стал ещё немного развитее ))

Целый день сёдня убил на эту проблему, а ручки-то вот они!

MadKid
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.