ich beschäftige mich schon seit längerer Zeit mit C++ und habe mich nun entschieden auch in die Qt Programmierung einzusteigen. Anfangs funktionierten alle Tutoriale sehr gut, doch nun weiß ich nicht mehr weiter.
Ich habe einen interessanten Quellcode unter diesem Link gefunden:
http://www.galileocomputing.de/katalog/ ... 3-REXB.Jgk
Der Quellcode auf den ich mich beziehen will ist folgender:
Code: Alles auswählen
/*****main.cpp*****/
#include <QApplication>
#include "mywindow.h"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MyWindow* window = new MyWindow;
window->show();
return app.exec();
}
/*****main.cpp*****/
/*****mywindow.h*****/
#ifndef MYWINDOW_H
#define MYWINDOW_H
#include <QWidget>
#include <QVBoxLayout>
#include <QPushButton>
#include <QLabel>
#include <QObject>
class MyWindow : public QWidget
{
Q_OBJECT
public:
MyWindow(QWidget *parent = 0);
private:
QLabel *label;
QPushButton *button0;
QPushButton *button1;
QVBoxLayout* layout;
private slots:
void setText();
};
#endif
/*****mywindow.h*****/
/*****mywindow.cpp*****/
#include "mywindow.h"
MyWindow::MyWindow(QWidget *parent): QWidget(parent)
{
label = new QLabel("alter Text");
button0 = new QPushButton ("Label aktualisieren");
button1 = new QPushButton ("Beenden");
layout = new QVBoxLayout(this);
layout->addWidget(button0);
layout->addWidget(button1);
layout->addWidget(label);
setLayout(layout);
connect( button0, SIGNAL( clicked() ),
this, SLOT( setText() ) );
connect( button1, SIGNAL( clicked() ),
this, SLOT( quit() ) );
}
void MyWindow::setText()
{
label->setText("neuer Text");
}
/*****mywindow.cpp*****/
QObject: No such file or directory
Ich habe also erstmal das #include QObject rausgelassen. Beim nächsten Kompilierversuch bekam ich unzählige undefined reference to... Fehlermedungen. Ich ersetzte in der main.cpp das #include "mywindow.h" durch ein #include "mywindow.moc". Danach lies sich der Code Problemlos kompilieren. Wenn ich das Programm aber nun starte habe ich im Konsolenfenster hinter dem Qt Fenster folgende Fehlermeldung:
QObject::connect: No such slot MyWindow::quiet()
Wie man aus der Fehlermeldung schließen kann funktioniert der "Beenden" Button nicht.
Weiß jemand woher das Problem kommt und wie ich es lösen kann???
Ich freu mich über jede Hilfe.
Schonmal danke im vorraus...