Я совершенно новичок в 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-проектами.
Вам нужно 4 вещи:
=> 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>
О программе 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
Других решений пока нет …