Russian Qt Forum

Qt => Вопросы новичков => Тема начата: alik от Август 24, 2015, 17:12



Название: Редактирование файла ui_xxx.h
Отправлено: alik от Август 24, 2015, 17:12
Добрый день!

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


Название: Re: Редактирование файла ui_xxx.h
Отправлено: Alex Custov от Август 24, 2015, 17:17
Файл ui_* пересоздаётся во время компиляции


Название: Re: Редактирование файла ui_xxx.h
Отправлено: alik от Август 24, 2015, 17:26
Файл ui_* пересоздаётся во время компиляции

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


Название: Re: Редактирование файла ui_xxx.h
Отправлено: Alex Custov от Август 24, 2015, 17:29
Но у меня не меняется ни ui_xxx.h файл, ни отображение формы после запуска программы!
Может я какую то опцию отключил?
Подозреваю, что раньше все менялось.

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


Название: Re: Редактирование файла ui_xxx.h
Отправлено: alik от Август 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


Название: Re: Редактирование файла ui_xxx.h
Отправлено: Alex Custov от Август 24, 2015, 17:47
ну, всё пересоздётся, проблемы нет.


Название: Re: Редактирование файла ui_xxx.h
Отправлено: alik от Август 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  ?


Название: Re: Редактирование файла ui_xxx.h
Отправлено: alik от Август 24, 2015, 20:29
ui_ .h файл обновляется в Release, а в первичном файле не обновляется!


Название: Re: Редактирование файла ui_xxx.h
Отправлено: Alex Custov от Август 24, 2015, 20:45
А почему у формы mainwindow нет файла ui_mainwindow.h  ?

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


Название: Re: Редактирование файла ui_xxx.h
Отправлено: alik от Август 24, 2015, 21:12
А почему у формы mainwindow нет файла ui_mainwindow.h  ?

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

Прописан:
FORMS    += mainwindow.ui \
    about.ui \
    map.ui \


Название: Re: Редактирование файла ui_xxx.h
Отправлено: alik от Август 24, 2015, 21:13
А Почему все-таки ui_  .h файл изменяется только в папке Release, а в папке основного проекта не изменяется?
Конечно может после перекомпиляции проекта тупо копировать ui_  .h, но все таки так не должно быть !?!?


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


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

А в pro файле должны быть указатели на ui_xxx.h хедеры ?
HEADERS  += ui_mainwindow.h \
    ui_about.h \


Название: Re: Редактирование файла ui_xxx.h
Отправлено: Old от Август 25, 2015, 00:04
А в pro файле должны быть указатели на ui_xxx.h хедеры ?
HEADERS  += ui_mainwindow.h \
    ui_about.h \
Нет.


Название: Re: Редактирование файла ui_xxx.h
Отправлено: alik от Август 25, 2015, 00:08
все разобрался! У меня в pro файле в хедерах стояли ссылки на ui .h файлы.
Удалил ссылки, удалил ui файлы с основной папки программы и все нормализовалось!
Спасибо за помощь!