brevleq
23rd December 2008, 02:04
Ok
I've implemented custom signal/slots:
#ifndef PORTA_H
#define PORTA_H
#include <QObject>
class Porta : public QObject{
public:
static const int DISCRETE=0;
static const int BINARY=1;
Porta ();
int getValue ();
virtual void setType (int t);
protected:
int value;
pthread_t thread;
int type;
int createThread ();
static void *startThread (void *obj);
virtual void threadFunction(void)=0;
signals:
void valueChanged();
};
#endif
#include "PortaEntrada.h"
#include <iostream>
using namespace std;
PortaEntrada::PortaEntrada(){
oscilation=BINARY;
}
void PortaEntrada::threadFunction(void){
while(1){
doGenerate();
sleep(5);
}
}
int PortaEntrada::doGenerate(){
value=generator->generate();
emit valueChanged();
return(value);
}
void PortaEntrada::setOscilation (int o){
oscilation=o;
switch(oscilation){
case QUADRATIC : generator=new (QGenerator);
break;
case TRIANGULAR : generator=new (TGenerator);
break;
case CONSTANT : generator=new (CGenerator);
break;
default : generator=new (BGenerator);
break;
}
createThread();
}
#include "SpinView.h"
#include <iostream>
using namespace std;
SpinView::SpinView(QWidget *parent):QSpinBox(parent){
}
void SpinView::setModel(Porta *m){
View::setModel(m);
connect(model,SIGNAL(valueChanged()),this,SLOT(set InView()));
}
void SpinView::setInValue(void){
setValue(model->getValue());
}
but when I run the program:
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dInSpin1')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aInSpin1')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dOutSpin1')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aOutSpin6')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dInSpin2')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aInSpin2')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dOutSpin2')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aOutSpin7')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dInSpin3')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aInSpin3')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dOutSpin3')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aOutSpin8')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dInSpin4')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aInSpin4')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dOutSpin4')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aOutSpin9')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dInSpin5')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aInSpin5')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dOutSpin5')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aOutSpin10')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dInSpin6')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aInSpin6')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dOutSpin6')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aOutSpin1')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dInSpin7')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aInSpin7')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dOutSpin7')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aOutSpin2')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dInSpin8')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aInSpin8')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dOutSpin8')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aOutSpin3')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dInSpin9')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aInSpin9')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dOutSpin9')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aOutSpin4')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dInSpin10')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aInSpin10')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dOutSpin10')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aOutSpin5')
How can I connect this custom signal with my custom slot??
I've implemented custom signal/slots:
#ifndef PORTA_H
#define PORTA_H
#include <QObject>
class Porta : public QObject{
public:
static const int DISCRETE=0;
static const int BINARY=1;
Porta ();
int getValue ();
virtual void setType (int t);
protected:
int value;
pthread_t thread;
int type;
int createThread ();
static void *startThread (void *obj);
virtual void threadFunction(void)=0;
signals:
void valueChanged();
};
#endif
#include "PortaEntrada.h"
#include <iostream>
using namespace std;
PortaEntrada::PortaEntrada(){
oscilation=BINARY;
}
void PortaEntrada::threadFunction(void){
while(1){
doGenerate();
sleep(5);
}
}
int PortaEntrada::doGenerate(){
value=generator->generate();
emit valueChanged();
return(value);
}
void PortaEntrada::setOscilation (int o){
oscilation=o;
switch(oscilation){
case QUADRATIC : generator=new (QGenerator);
break;
case TRIANGULAR : generator=new (TGenerator);
break;
case CONSTANT : generator=new (CGenerator);
break;
default : generator=new (BGenerator);
break;
}
createThread();
}
#include "SpinView.h"
#include <iostream>
using namespace std;
SpinView::SpinView(QWidget *parent):QSpinBox(parent){
}
void SpinView::setModel(Porta *m){
View::setModel(m);
connect(model,SIGNAL(valueChanged()),this,SLOT(set InView()));
}
void SpinView::setInValue(void){
setValue(model->getValue());
}
but when I run the program:
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dInSpin1')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aInSpin1')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dOutSpin1')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aOutSpin6')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dInSpin2')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aInSpin2')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dOutSpin2')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aOutSpin7')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dInSpin3')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aInSpin3')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dOutSpin3')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aOutSpin8')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dInSpin4')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aInSpin4')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dOutSpin4')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aOutSpin9')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dInSpin5')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aInSpin5')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dOutSpin5')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aOutSpin10')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dInSpin6')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aInSpin6')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dOutSpin6')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aOutSpin1')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dInSpin7')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aInSpin7')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dOutSpin7')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aOutSpin2')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dInSpin8')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aInSpin8')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dOutSpin8')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aOutSpin3')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dInSpin9')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aInSpin9')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dOutSpin9')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aOutSpin4')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dInSpin10')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aInSpin10')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'dOutSpin10')
Object::connect: No such signal QObject::valueChanged()
Object::connect: (receiver name: 'aOutSpin5')
How can I connect this custom signal with my custom slot??