Russian Qt Forum

Qt => Qt-инструментарий => Тема начата: Marinad от Май 31, 2009, 21:22



Название: QDesigner
Отправлено: Marinad от Май 31, 2009, 21:22
Я новичок в qt программировании, да и в программировании вообще.
Юзаю связку QDevelop+QDesigner, создаю проект с mainwindow в девелопере, и редактирую mainwindow.ui в designer`е.
Худо бедно научился делать привязки виджетов к слотам(?), например кнопка "выход".
Во время компилляции ui файл напрочь игнорируется, и все параметры ui, например setGeometry, берутся из main.cpp
При этом ошибок не выдаётся.
Как мне заставить программу компилироваться с интерфейсом созданным в QDesigner?


Название: Re: QDesigner
Отправлено: Valeriy от Май 31, 2009, 21:46
Вообще, не совсем понятно что там просиходит. Если бы файлы ui не подключались, всё просто не компилировалось.

> Во время компилляции ui файл напрочь игнорируется, и все параметры ui, например setGeometry, берутся из main.cpp

Вот тут вообще не понял. Если заново установить геометрию в main.cpp, то почему должна остаться старая?


Название: Re: QDesigner
Отправлено: Marinad от Май 31, 2009, 21:54
> Если бы файлы ui не подключались, всё просто не компилировалось.

А как подключить ui файлы? В проекте они у меня числятся, а при компиляции берутся описанные мною виджеты из main.cpp
Если не описывать их геометрию, они становятся просто безразмерными.
Как вообще записать виджеты, созданные QDesigner`ом в main.cpp?


Название: Re: QDesigner
Отправлено: Karl-Philipp от Май 31, 2009, 22:01
Маринад, глянь тут (http://www.prog.org.ru/topic_9561_0.html).


Название: Re: QDesigner
Отправлено: Marinad от Май 31, 2009, 22:14
Цитировать
Маринад, глянь тут.

Вот тут я не особо разобрался:
Цитировать
-- создаешь форму в Qt Designer;
-- подключаешь ее к проетку (нужно отредактировать pro-файл) добавив
Цитировать
HEADERS += <your_widget_name_which_use_a_ui>.h
FORMS += <your_form_name>.ui
HEADERS += <your_widget_name_which_use_a_ui>.cpp
your_widget_name_which_use_a_ui -- имя файла в котором будет использоваться ui;
your_form_name -- имя ui  файла.
-- создаешь файл, который будет использовать ui файл.
У меня в папке src три файла:
main.cpp
mainwindowimpl.cpp
mainwindowimpl.h

В папке ui один файл:
mainwindow.ui

Содержание pro-файла:
Цитировать
TEMPLATE = app
QT = gui core
CONFIG += qt release warn_on
DESTDIR = bin
OBJECTS_DIR = build
MOC_DIR = build
UI_DIR = build
FORMS = ui/mainwindow.ui
HEADERS = src/mainwindowimpl.h
SOURCES = src/mainwindowimpl.cpp src/main.cpp
Так в результате что мне в него дописать?


Название: Re: QDesigner
Отправлено: lit-uriy от Июнь 01, 2009, 07:19
2 Marinad, с pro-файлом у тебя всё впорядке.
Покажи как ты используешь в программе ui-файл.


Название: Re: QDesigner
Отправлено: Marinad от Июнь 01, 2009, 07:56
В том то и дело, что использование ui файла в программе ограничивается только его наличием в проекте.
Как подключить виджеты к коду программы?


Название: Re: QDesigner
Отправлено: Rcus от Июнь 01, 2009, 08:01
Assistant -> "Using a Designer .ui File in Your Application"


Название: Re: QDesigner
Отправлено: Marinad от Июнь 01, 2009, 09:15
У меня русская версия QDeveloper`а, порылся по файл-меню, ничего подобного не нашёл..


Название: Re: QDesigner
Отправлено: lit-uriy от Июнь 01, 2009, 09:31
2 Marinad, расшифровка, секретная:
См. Асистент (Qt Asistant) -> раздел "Using a Designer .ui File in Your Application"


Название: Re: QDesigner
Отправлено: Marinad от Июнь 01, 2009, 09:36
Спасибо, нашёл =)