Leider kann ich mit den Fehlermeldungen des Compilers nicht viel anfangen:
Code: Alles auswählen
MultipleChoiceCreator/debug/moc_mainwindow.o:-1: error: In function `ZN10MainWindow18openQuestionWidgetEv':
MultipleChoiceCreator/debug/moc_mainwindow.cpp:76: multiple definition of `MainWindow::openQuestionWidget()'
:-1: error: collect2: ld returned 1 exit statusNachfolgend der Code:
main.cpp
Code: Alles auswählen
#include <QtGui/QApplication>
#include "mainwindow.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}Code: Alles auswählen
#include "mainwindow.h"
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) {
// Menü
QMenu *fileMenu = new QMenu(tr("&Datei"), this);
menuBar()->addMenu(fileMenu);
fileMenu->addAction(
QIcon("./images/cancel.png"),
tr("Neue Frage..."), this, SLOT(openQuestionWidget()),
QKeySequence(tr("Ctrl+N", "Datei|Neue Frage")));
fileMenu->addAction(
QIcon("./images/cancel.png"),
tr("Beenden..."), this, SLOT(close()),
QKeySequence(tr("Ctrl+X", "Datei|Beenden")));
// Widget
}
MainWindow::~MainWindow() {}
void MainWindow::openQuestionWidget() {
QuestionWidget* qW = new QuestionWidget(this);
qW->show();
}
void MainWindow::closeEvent(QCloseEvent *event) {
int ret = QMessageBox::warning(this, tr("Abfrage"), tr("Wollen Sie die Anwendung beenden?"),
QMessageBox::Ok | QMessageBox::Cancel);
if(ret == QMessageBox::Ok) {
event->accept();
} else {
event->ignore();
}
}Code: Alles auswählen
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QtGui>
#include <QtCore>
#include "QuestionWidget.h"
class MainWindow : public QMainWindow {
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
protected:
void closeEvent(QCloseEvent* event);
signals:
void openQuestionWidget();
};
#endif // MAINWINDOW_H
Code: Alles auswählen
#include "QuestionWidget.h"
QuestionWidget::QuestionWidget(QWidget *parent) : QWidget(parent) {
button0 = new QPushButton("Fenster schliessen...");
layout = new QGridLayout(this);
layout->addWidget(button0, 0, 0);
setLayout(layout);
}
QuestionWidget::~QuestionWidget() {}Code: Alles auswählen
#ifndef QUESTIONWIDGET_H
#define QUESTIONWIDGET_H
#include <QtGui>
#include <QtCore>
class QuestionWidget : public QWidget {
Q_OBJECT
public:
QuestionWidget(QWidget *parent = 0);
~QuestionWidget();
private:
QGridLayout* layout;
QPushButton* button0;
};
#endif // QUESTIONWIDGET_H