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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Редактирование файла ui_xxx.h  (Прочитано 6644 раз)
alik
Гость
« : Август 24, 2015, 17:12 »

Добрый день!

При редактировании формы xxx.ui в графическом дизайнере я ожидал, что автоматически будет изменяться контент в файле ui_xxx.h
Однако, на практике вижу, что этого не происходит.
Действительно ли в ui_xxx.h надо все набирать руками и зачем тогда дизайнер формы ?
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #1 : Август 24, 2015, 17:17 »

Файл ui_* пересоздаётся во время компиляции
Записан
alik
Гость
« Ответ #2 : Август 24, 2015, 17:26 »

Файл ui_* пересоздаётся во время компиляции

Но у меня не меняется ни ui_xxx.h файл, ни отображение формы после запуска программы!
Может я какую то опцию отключил?
Подозреваю, что раньше все менялось.
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #3 : Август 24, 2015, 17:29 »

Но у меня не меняется ни ui_xxx.h файл, ни отображение формы после запуска программы!
Может я какую то опцию отключил?
Подозреваю, что раньше все менялось.

Если изменить и сохранить форму, а потом запустить компиляцию, то в выводе компилятора есть команды типа uic ... for.ui -o ui_form.h?
Записан
alik
Гость
« Ответ #4 : Август 24, 2015, 17:38 »

Но у меня не меняется ни ui_xxx.h файл, ни отображение формы после запуска программы!
Может я какую то опцию отключил?
Подозреваю, что раньше все менялось.

Если изменить и сохранить форму, а потом запустить компиляцию, то в выводе компилятора есть команды типа uic ... for.ui -o ui_form.h?

C:/Qt/Qt5.2.0/Tools/mingw48_32/bin/mingw32-make -f Makefile.Release
mingw32-make[1]: Entering directory 'E:/Projects/ASU-MRL/QT/build-asumrl-Desktop_Qt_5_2_0_MinGW_32bit-Release'
C:\Qt\Qt5.2.0\5.2.0\mingw48_32\bin\uic.exe ..\asumrl\mainwindow.ui -o ui_mainwindow.h
C:\Qt\Qt5.2.0\5.2.0\mingw48_32\bin\uic.exe ..\asumrl\about.ui -o ui_about.h
C:\Qt\Qt5.2.0\5.2.0\mingw48_32\bin\uic.exe ..\asumrl\map.ui -o ui_map.h
C:\Qt\Qt5.2.0\5.2.0\mingw48_32\bin\uic.exe ..\asumrl\settings.ui -o ui_settings.h
C:\Qt\Qt5.2.0\5.2.0\mingw48_32\bin\uic.exe ..\asumrl\start.ui -o ui_start.h
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #5 : Август 24, 2015, 17:47 »

ну, всё пересоздётся, проблемы нет.
Записан
alik
Гость
« Ответ #6 : Август 24, 2015, 20:06 »

ну, всё пересоздётся, проблемы нет.

Окно я создаю от класса QDialog.

#ifndef MAP_H
#define MAP_H

#include <QDialog>
#include <QtGui>
#include <QtCore>

namespace Ui {
class map;
}

class map : public QDialog
{
    Q_OBJECT
public:
    explicit map(QWidget *parent = 0);
    ~map();
private slots:
private:
    Ui::map *ui;
};

#endif // MAP_H


А почему у формы mainwindow нет файла ui_mainwindow.h  ?
Записан
alik
Гость
« Ответ #7 : Август 24, 2015, 20:29 »

ui_ .h файл обновляется в Release, а в первичном файле не обновляется!
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #8 : Август 24, 2015, 20:45 »

А почему у формы mainwindow нет файла ui_mainwindow.h  ?

Он должен быть. Возможно mainwindow.ui не прописан в FORMS в .pro
Записан
alik
Гость
« Ответ #9 : Август 24, 2015, 21:12 »

А почему у формы mainwindow нет файла ui_mainwindow.h  ?

Он должен быть. Возможно mainwindow.ui не прописан в FORMS в .pro

Прописан:
FORMS    += mainwindow.ui \
    about.ui \
    map.ui \
Записан
alik
Гость
« Ответ #10 : Август 24, 2015, 21:13 »

А Почему все-таки ui_  .h файл изменяется только в папке Release, а в папке основного проекта не изменяется?
Конечно может после перекомпиляции проекта тупо копировать ui_  .h, но все таки так не должно быть !?!?
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #11 : Август 24, 2015, 21:17 »

А Почему все-таки ui_  .h файл изменяется только в папке Release, а в папке основного проекта не изменяется?
Конечно может после перекомпиляции проекта тупо копировать ui_  .h, но все таки так не должно быть !?!?
Не нужно ничего не куда копировать.
Эти файлы генерируются при сборке, в директории с исходными файлами их быть не должно.
Записан
alik
Гость
« Ответ #12 : Август 25, 2015, 00:00 »

А Почему все-таки ui_  .h файл изменяется только в папке Release, а в папке основного проекта не изменяется?
Конечно может после перекомпиляции проекта тупо копировать ui_  .h, но все таки так не должно быть !?!?
Не нужно ничего не куда копировать.
Эти файлы генерируются при сборке, в директории с исходными файлами их быть не должно.

А в pro файле должны быть указатели на ui_xxx.h хедеры ?
HEADERS  += ui_mainwindow.h \
    ui_about.h \
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #13 : Август 25, 2015, 00:04 »

А в pro файле должны быть указатели на ui_xxx.h хедеры ?
HEADERS  += ui_mainwindow.h \
    ui_about.h \
Нет.
Записан
alik
Гость
« Ответ #14 : Август 25, 2015, 00:08 »

все разобрался! У меня в pro файле в хедерах стояли ссылки на ui .h файлы.
Удалил ссылки, удалил ui файлы с основной папки программы и все нормализовалось!
Спасибо за помощь!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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