Я пытаюсь показать QDialog из QMainWindow с помощью Qt Creator. Имя QDialog - About. Мой MainWindow и мой QDialog оба находятся в пространстве имен Ui по умолчанию, но я получаю сообщение об ошибке при попытке создать новый About.Пытается получить доступ к классу в пространстве имен Ui
mainwindow.h
#include <QMainWindow>
#include "about.h"
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow {
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
protected:
void changeEvent(QEvent *e);
private slots:
void on_actionAbout_activated();
private:
Ui::MainWindow *ui;
Ui::About *about;
};
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow)
{
ui->setupUi(this);
this->about = null;
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_actionAbout_activated()
{
this->about = new Ui::About(this);
this->about->show();
}
Ошибка:
invalid use of incomplete type ‘struct Ui::About’
Это происходит в строке:
this->about = new Ui::About(this);
Что происходит? Есть ли структура с именем About в пространстве имен Ui?