![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
NordWest |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 86 Регистрация: 26.11.2008 Пользователь №: 433 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
В Креаторе правлю форму mainwindow.ui, но эти изменения не отражаются в программе. Т.е. сменил QTreeWidget на QTableWidget, но в программе не могу получить на него ссылку.
Выдает NULL. Pаглянул в ui_mainwindow.h, а там всё прежнее, с QTreeWidget. Пришлось вручную менять. Но получается, что ui форма никак не связана с проектом. Отказываться от Дизайнера и влезать в ui_mainwindow.h, который должен бы генерироваться из .ui файла? И почему он этого не делает? |
|
|
lanz |
![]()
Сообщение
#2
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
Чеклист:
0. ui добавлен в проект. 1. Сохранить ui в дизайне. 2. Собрать проект. Кроме того не обязательно делать FindChild, можно просто обращатся через ui
Сообщение отредактировал lanz - 26.2.2013, 10:57 |
|
|
NordWest |
![]()
Сообщение
#3
|
Студент ![]() Группа: Участник Сообщений: 86 Регистрация: 26.11.2008 Пользователь №: 433 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
Чеклист: 0. ui добавлен в проект. 1. Сохранить ui в дизайне. 2. Собрать проект. Кроме того не обязательно делать FindChild, можно просто обращатся через ui
Все три пункта. Добавил ui_mainwindow.h, пересобрал, ничего. Удалил его (переименовал), ничего. Не генерируется он совсем из .ui файла как написано у него же в заголовке. Может как-то командно можно его генерацию выполнить? Ага, дело в теневой сборке. Правильный фаил создается в отдельной директории. Но не понятно как к нему обратиться, ведь в mainwindow.cpp указан:
И убрав его получаешь ошибку. Ага, получилось. Видимо ui_mainwindow.h мешал в директории с исходниками. Нужно было его удалить, почистить проект и пересобрать. Тогда всё заработало. Сообщение отредактировал NordWest - 26.2.2013, 11:41 |
|
|
ilyabvt |
![]()
Сообщение
#4
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 297 Регистрация: 23.6.2011 Пользователь №: 2765 Спасибо сказали: 45 раз(а) Репутация: ![]() ![]() ![]() |
Цитата Может как-то командно можно его генерацию выполнить? Можно. http://qt-project.org/doc/qt-4.8/uic.html |
|
|
Алексей1153 |
![]()
Сообщение
#5
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
NordWest, это такие грабли, связанные с местом расположения промежуточных файлов: к примеру, сначала была не теневая сборка, и файл ui_*.h сгенерился в папке проекта. Потом ты сменил настройки на теневую сборку, теперь файл генерится выше проекта, но! компилятор будет хватать старую версию файла (который не меняется после орудования в редакторе). Следовательно, в папке проекта следует удалить вручную все сгенерированные файлы. Потом полный ребилд - и всё наладится )
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#6
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
NordWest, я не вижу у тебя макроса Q_OBJECT.
Нет этого макроса - жди проблем |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 23.4.2025, 11:09 |