Qt - файлы пользовательского интерфейса не обновляются в Visual Studio - PullRequest
1 голос
/ 13 декабря 2011

Я недавно начал работать с Qt (что-то вроде ускоренного курса) и интегрировал его с Visual Studio (как описано здесь ), и теперь по какой-то причине файлы не обновляются с моим сохраненный файл .ui после внесения изменений в Qt Designer.

Файл сохраняется правильно (если я щелкаю по нему в Visual Studio, он показывает добавленные компоненты), но ни один из добавленных компонентов не упоминается в файле «ui_MainForm.h». Есть ли шаг, который я пропустил где-то вдоль строк сохранения, который должен был перекомпилировать этот заголовочный файл интерфейса пользователя?

Я также не уверен, имеет ли это значение или нет, но сгенерированные файлы имеют красный значок рядом с ними в обозревателе решений, например:

Red icons and such

Ответы [ 3 ]

7 голосов
/ 13 декабря 2011

Файл ui_MainForm.h не обновляется автоматически при изменении файла MainForm.ui.

Только когда вы начнете компилировать ваш проект, файл .ui будет скомпилирован в файл .h. Если вы хотите обновить .h файл, например, ради IntelliSense вы должны иметь возможность щелкнуть правой кнопкой мыши на файле .ui и щелкнуть «Compile». Это запускает uic.exe, и ваш файл .h будет обновляться этим.

[Изменить:]
Как указано rcmadruga и Summer Sun, иногда необходимо дополнительно обновить базу данных IntelliSense, выбрав пункт меню Project->Rescan Solution, который был представлен в Visual Studio 2010.

3 голосов
/ 13 декабря 2011

Файл ui _ *. H обновляется после запуска uic.exe, что обычно происходит в процессе сборки. Я не уверен в том, как работает интеграция VS, но если вам важно обновить заголовок, вы можете запустить uic вручную или, возможно, с помощью некоторого параметра меню, предоставляемого интеграцией Qt VS.

0 голосов
/ 21 июня 2017

Как уже упоминалось выше, вы должны скомпилировать файл * .ui через Visual Studio; Однако если вы просто сохраните и не соберете файл формы в создателе Qt, вы не увидите никаких изменений в запуске VS, даже если вы его скомпилировали. Поэтому сначала убедитесь, что вы создали файл * .ui в IDE Qt.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...