Использование графического интерфейса Qt, созданного Qt Designer в Eclipse

Я совершенно новичок в Qt, но мне удалось заставить работать несколько простых окон и рамок. Я использую Eclipse в 64-битной системе Kubuntu. После редактирования моего кода в Eclipse, я запускаю qmake и создаю из командной строки.

Вчера я попробовал Qt Designer, который отлично работает для меня, по сравнению с «жестким кодом» виджетов и кнопок в Eclipse.
Однако я не буду переключаться на QT Creator, потому что я очень привык к Eclipse.

Моя цель — создать графический интерфейс в Qt Designer и использовать сгенерированный код в Eclipse.

Выполнение qmake -project, qmake и make генерирует файл заголовка для моего главного окна, содержащий код класса.

Но когда я пытаюсь включить этот файл заголовка в мой код Eclipse, произойдет остановка с ошибкой, потому что g ++ не может найти файл заголовка (кажется, заголовок еще не был создан).

Должен признать, я все еще не уверен в процессе сборки Qt.
Итак, как я могу создать свой графический интерфейс с помощью Qt Designer и при этом использовать Eclipse в качестве своей IDE для кодирования?

Привет,
lugge

Редактировать:
Мой проект Eclipse — это «Пустой Makefile Project». Насколько я знаю, это означает, что я должен заботиться обо всем процессе сборки. Затмение ничего не сделает для меня.

Я не пробовал запускать «make» из Eclipse, потому что Makefile должен быть сгенерирован qmake. Таким образом, после загрузки и сохранения моего кода в Eclipse, я запускаю qmake и создаю из командной строки.

Qmake обнаруживает, что существует файл .ui, и генерирует файл заголовка для этого класса.
Проблема в том, что если я пытаюсь включить этот заголовок в Eclipse, мой файл исходного кода не может быть скомпилирован.

Для меня кажется, что когда «make» вызывает g ++ с моим файлом исходного кода, заголовок графического интерфейса не был создан.

Так почему я так делаю?
Ну, я не хочу быть зависимым от IDE, такой как Qt Creator или что-то в этом роде. Потому что это означает, что при попытке скомпилировать мой проект everony требуется мета-информация, такая как файл конфигурации или специфичные для проекта настройки для этой конкретной IDE.

В моих C-проектах я использую рукописный Makefile, так что вам просто нужно установить GCC (который у вас обычно есть) и набрать «make».

Я пытаюсь максимально приблизиться к этому с Qt-проектами.

3

Решение

Вам нужно 4 вещи:

  • .Ui, сгенерированный Qt Designer

=> about.ui

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>About</class>
<widget class="QDialog" name="Dialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>300</height>
</rect>
</property>
<property name="windowTitle">
<string>A Propos</string>
</property>
</widget>
<layoutdefault spacing="6" margin="11"/>
<resources/>
<connections/>
</ui>
  • Cpp / h, связанный с .ui, например это:

О программе Window (about.cpp) =>

#include "about.h"#include "ui_about.h"
About::About(QWidget *parent) : QDialog(parent), ui(new Ui::About)
{
ui->setupUi(this);
}

About::~About()
{
delete ui;
}

(about.h) =>

#ifndef ABOUT_H
#define ABOUT_H

#include <QDialog>

namespace Ui {
class About;
}

class About : public QDialog
{
Q_OBJECT
public:
explicit About(QWidget *parent = 0);
~About();

private:
Ui::About *ui;
};

#endif // ABOUT_H

В файле .pro

SOURCES += about.cpp
HEADERS += about.h
FORMS   += about.ui
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]