Ich habe ein Problem mit einem Slotaufruf in einer handling-Klasse, die für mich Elemente einer gui verändern soll.
Ich habe meine Basisklasse so angelegt:
Code: Alles auswählen
#ifndef KLINGELFELD_H
#define KLINGELFELD_H
#include <QString>
#include <QObject>
#include <QTcpServer>
#include <QString>
#include "ui_KlingelFeld.h"
#include "klingelfeldxml.h"
#include "klingelfeldhandling.h"
class KlingelFeld : public QMainWindow, public Ui::KlingelFeld
{
Q_OBJECT
public:
KlingelFeld(QMainWindow *parent = 0);
~KlingelFeld();
void readXML();
public slots:
void displaySockError(int socketError, const QString &message);
void newText(const QString &labText);
void startClientConnection();
void readSocket();
void selectHandle(QString handle);
signals:
void error(int socketError, const QString &message);
void getText(const QString &text);
void sigshowABC();
void sigshowNum();
void sigScrollAbcDown();
private:
Ui::KlingelFeld ui;
QString address;
quint16 port;
int socketDescriptor;
QTcpServer Server;
QTcpSocket *client;
KlingelFeldXML *xmlData;
};
#endif
Code: Alles auswählen
#ifndef KLINGELFELDHANDLING_H
#define KLINGELFELDHANDLING_H
#include <QObject>
#include <QString>
#include "klingelfeldxml.h"
#include "KlingelFeld.h"
#include "klingelfelddata.h"
class KlingelFeld;
class KlingelFeldHandling : public QObject
{
Q_OBJECT
KlingelFeld *myFeld;
public:
KlingelFeldHandling(KlingelFeld*){}
~KlingelFeldHandling(){}
public slots:
void abcScrollDown();
};
#endif // KLINGELFELDHANDLING_H
Code: Alles auswählen
KlingelFeld::KlingelFeld(QMainWindow *parent)
: QMainWindow(parent)
{
setupUi(this);
KlingelFeldHandling *handling = new KlingelFeldHandling(this);
....
....
connect(this,SIGNAL(sigScrollAbcDown()),handling,SLOT(abcScrollDown()));
Code: Alles auswählen
void KlingelFeldHandling::abcScrollDown(){
myFeld->nameLab_1->setText("Michael");
}
Woran kann das liegen? Greife ich auf irgendwelche falschen Speicherbereiche zu?
Vielen Dank
Mfg Gorion