Seite 1 von 1

[gelöst] Slot Problem

Verfasst: 3. November 2005 12:26
von OH-NO
Hallo,

ich habe eine Klasse geschrieben und von QMainWindow erben lassen
im Konstruktor dieser Klasse erzeuge ich ein Button und rufe dann connect
für diesen Button auf.
Doch bein Compilieren bekomme ich die Fehlermeldung
No such slot QMainWindow::sendMessage()

meine Header Datei

Code: Alles auswählen

#ifndef MYFRAME_H

#define MYFRAME_H

#include <qmainwindow.h>
#include <qlayout.h>
#include <qlineedit.h>
#include <qpushbutton.h>
#include <qtextedit.h>

class MyFrame:private QMainWindow{

    public:
        MyFrame();
        ~MyFrame();
    private:
        QVBoxLayout *mainbox;
        QHBoxLayout *hbox;
        QLineEdit *toSendMessage;
        QPushButton *send;
        QTextEdit *edit;
        
    protected slots:
        void sendMessage();
        
};
#endif
meine Cpp Datei

Code: Alles auswählen

#include "myframe.h"
#define Q_OBJECT

MyFrame::MyFrame(){
  .
  .
  .
    
        this->send = new QPushButton(this, "test");
        this->send->setText("test");
        this->send->setDefault(true);
        connect( this->send, SIGNAL( clicked() ),this, SLOT(sendMessage()) );
  .      
  .
  .      
}

void MyFrame::sendMessage(){
    QString msg = this->toSendMessage->text();
    this->toSendMessage->setText("");
    this->edit->setText(this->edit->text() + "\n" + msg); 
}


MyFrame::~MyFrame(){ 
}

wo liegt der Fehler?
Und warum sucht er in QMainWindow und nicht in MyFrame?

Verfasst: 3. November 2005 13:34
von Christian81
Q_BOJECT in class MyFrame vergessen
Falls Du von Hand kompilierst, moc.exe-Aufruf nicht vergessen!

Verfasst: 4. November 2005 19:30
von OH-NO
Danke Dir