#ifndef _UI_FORM_H#define _UI_FORM_H#include <QMainWindow>#include <QDesktopWidget>#include <QApplication>#include <QSplashScreen>#include <QTabWidget>#include <QString>#include <iostream>#include "ThreadManager.h"class MainWindow: public QMainWindow{ Q_OBJECT public: MainWindow(QWidget *parent = 0): QMainWindow(parent), tabWidget(this) { // тут работа с виджетами: добавление, установка параметров и т.п. this->tabWidget.addTab(&executeTab, tr("tabname)); } QTabWidget tabWidget; QWidget executeTab;};//класс, объект которого создаю в main.cppclass MainForm{ public: MainWindow mainWindow; ThreadManager threadManager; MainForm(QWidget* parent = 0): mainWindow(parent), threadManager(&this->mainWindow) { this->mainWindow.show(); //отображение главного окна со всеми виджетами }};#endif /* _UI_FORM_H */
#ifndef _THREADMANAGER_H#define _THREADMANAGER_Hclass MainWindow;class ThreadManager{ Q_OBJECT public: MainWindow* _mainWindow; ThreadManager(MainWindow* mainWindow): _mainWindow(mainWindow) { /* тут, если не закомментить строку ниже будет ошибка "./webcruiser/ThreadManager.h:22: error: invalid use of incomplete type 'struct MainWindow' ./ThreadManager.h:11: error: forward declaration of 'struct MainWindow' */ this->_mainWindow->tabWidget.setCurrentIndex(0); }};#endif /* _THREADMANAGER_H */
Файл ThreadManager.h:#ifndef _THREADMANAGER_H#define _THREADMANAGER_Hclass MainWindow;class ThreadManager{...
#include "MainWindow.h"