Problem mit zwei .ui Dateien
Verfasst: 4. Januar 2016 21:27
//Edit:
Fehler gefunden. Quellcode passt jetzt.
Hallo,
ich möchte aus meinem Hauptprogramm ein neues Fenster öffnen. Dazu habe ich mich schon ein bisschen eingelesen und folgenden Quelltext erzeugt:
main.cpp:
mainwindow.cpp:
mainwindow.h:
about.cpp:
about.h:
Weiterhin habe ich natürlich noch eine about.ui und eine mainwindow.ui.
Wenn ich das ganze jetzt kompilieren möchte, erhalte ich folgende Fehlermeldung:
Weiß grade echt nicht weiter. Im Prinzip möchte ich nur aus dem Hauptfenster, nachdem ich auf ein Button geklickt habe, ein zweites Fenster mit entsprechender .ui öffnen.
Danke und Gruß
Julian
Fehler gefunden. Quellcode passt jetzt.
Hallo,
ich möchte aus meinem Hauptprogramm ein neues Fenster öffnen. Dazu habe ich mich schon ein bisschen eingelesen und folgenden Quelltext erzeugt:
main.cpp:
Code: Alles auswählen
#include "mainwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
mainwindow.cpp:
Code: Alles auswählen
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_pushButton_clicked()
{
openAbout();
}
void MainWindow::openAbout()
{
windowAbout = new About();
windowAbout->show();
}
Code: Alles auswählen
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include "about.h"
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private slots:
void on_pushButton_clicked();
public slots:
void openAbout();
private:
Ui::MainWindow *ui;
About *windowAbout;
};
#endif // MAINWINDOW_H
Code: Alles auswählen
#include "about.h"
#include "ui_about.h"
About::About(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::About)
{
ui->setupUi(this);
}
About::~About()
{
delete ui;
}
Code: Alles auswählen
#ifndef ABOUT_H
#define ABOUT_H
#include <QMainWindow>
namespace Ui {
class About;
}
class About : public QMainWindow
{
Q_OBJECT
public:
explicit About(QWidget *parent = 0);
~About();
private:
Ui::About *ui;
};
#endif // ABOUT_H
Wenn ich das ganze jetzt kompilieren möchte, erhalte ich folgende Fehlermeldung:
Code: Alles auswählen
mainwindow.cpp:24: Fehler: 'windowAbout' was not declared in this scope
windowAbout = new About();
^Danke und Gruß
Julian