@FireShip
Учил ЦПП по интернетам

Как правильно подключить заголовочный файл?

Здравствуйте! У меня проблема, которую я решить не могу весь день.
Сразу извиняюсь за убогий код, оно станет лучше.
Итак к делу, имеется класс UserInterface, используемый для работы с интерфейсом. Сам интерфейс сделан в Qt Designer и сгенерирован с помощью uic утилиты.
В qt designer был сделан promote для виджета.
вот заголовочный файл виджета :
//mainwidget.h
#include <QtWidgets>
#include <QtCore>
#include <QtGui>
#include <iostream>
#include "UserInterface.h"

class MainWidget : public QWidget {
    Q_OBJECT;
public:
    MainWidget(QWidget *parent = 0);
};

Пока что он такой же, как и обычный QWidget.
Собственно в этот файл добавлен заголовочный файл "UserInterface.h"
Вот код этого хедера :
// UserInterface.h
#include <QtCore>
#include <QtWidgets>
#include <QtGui/QtGui>
#include <vector>
#include "gui.h"
#include <unistd.h>
#include "mainwidget.h"

using namespace std;

class UserInterface  {
    QMainWindow *mainWindow;

    public:
        UserInterface(vector<string> list);
        void start();
        void updateList(vector<string> list);
        void flushFileList();

        vector<string> list;
        Ui_MainWindow *gui;
};


в него непосредственно инклудится "gui.h", который сгенерирован uic.
Так вот. когда в mainwidget.h подключен заголовочный файл UserInterface.h, ничего не работает. Конкретно в ИДЕ красным подсвечивается строка
Ui_MainWindow *gui;
Я пытался искать по stackoverflow подобное, и, в общем то, находил, но не смог приделать к моей ситуации.
Скорее всего описал сумбурно, спрашивайте ответы в комментарии, спасибо.
  • Вопрос задан
  • 429 просмотров
Пригласить эксперта
Ответы на вопрос 1
GavriKos
@GavriKos
Ну самое первое - #pragma once или аналоги, чтобы небыло нескольких объявлений.
Второе - Ui_MainWindow где то ж объявлен, не забыли?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы