Я сделал следующую программу, но теперь получаю ошибку. Я искал ошибку почти 3 часа, но ничего не стоило. Я хочу обсудить проблему с вами, людьми.
Я получаю сообщение об ошибке: ожидаемое имя класса до '{' токена
#ifndef ASKDIALOG_H
#define ASKDIALOG_H
#include <QDialog>
#include "umerwindow.h"
namespace Ui {
class AskDialog;
}
class AskDialog : public QDialog, public UmerWindow // HERE IS THE ERROR
{
Q_OBJECT
public:
explicit AskDialog(QWidget *parent = 0);
void showdialog();
~AskDialog();
private slots:
void on_dokbutton_clicked();
private:
Ui::AskDialog *ui;
};
#endif // ASKDIALOG_H
ЗАПРОСИТЬ ДИАЛОГ. ФАЙЛ .CPP
#include "askdialog.h"
#include "ui_askdialog.h"
AskDialog::AskDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::AskDialog)
{
ui->setupUi(this);
}
AskDialog::~AskDialog()
{
delete ui;
}
void AskDialog::on_dokbutton_clicked()
{
QString data=ui->dline->text();
showlist(data);
}
ЗАПРОСИТЬ ДИАЛОГ. ФАЙЛ .CPP
#include "askdialog.h"
#include "ui_askdialog.h"
AskDialog::AskDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::AskDialog)
{
ui->setupUi(this);
}
AskDialog::~AskDialog()
{
delete ui;
}
void AskDialog::on_dokbutton_clicked()
{
QString data=ui->dline->text();
showlist(data);
}
Хорошо, это заголовочный файл UmerWindow
#ifndef UMERWINDOW_H
#define UMERWINDOW_H
#include <QMainWindow>
#include <QListWidgetItem>
#include "askdialog.h"
namespace Ui {
class UmerWindow;
}
class UmerWindow : public QMainWindow
{
Q_OBJECT
public:
explicit UmerWindow(QWidget *parent = 0);
~UmerWindow();
protected:
void showlist(QString &);
private slots:
void on_actionAdd_Item_triggered();
private:
Ui::UmerWindow *ui;
QListWidgetItem *itm;
AskDialog *dialog;
};
и это .cpp файл UmerWIndow
#include "umerwindow.h"
#include "ui_umerwindow.h"
#include "askdialog.h"
#include <QListWidgetItem>
UmerWindow::UmerWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::UmerWindow)
{
ui->setupUi(this);
dialog= new AskDialog(this);
}
UmerWindow::~UmerWindow()
{
delete ui;
}
void UmerWindow::on_actionAdd_Item_triggered()
{
dialog->show();
}
void UmerWindow::showlist(QString &data)
{
}
Что я должен сделать, чтобы решить эту проблему? Пожалуйста, помогите.
PS: Я также пытался без наследования, тогда компилятор выдаёт мне странную ошибку: ISO C ++ запрещает объявление 'UmerWindow' без типа и ошибка: ожидается ';' до '' токена *, когда я создаю объект-указатель UmerWindow в файле askdialog.h. Что мне теперь делать?