Я новичок, я пытаюсь передать сигнал из заголовочного файла и поймать его в своем основном классе. Для этого написали этот заголовочный файл: -
KeyBoard.h:-
#ifndef KEYBOARD_H
#define KEYBOARD_H
#include <QObject>
#include <QDebug>
class KeyBoard : public QObject{
Q_OBJECT
public:
KeyBoard();
int keyboard_update(QByteArray recieved_key);
signals:
void keyboard_respoense(QString message);
private:
int level;
int sub_level;
};
#endif
и
KeyBoard.cpp:-
#include "KeyBoard.h"
KeyBoard::KeyBoard()
{
level = 0;
sub_level = 0;
}
int KeyBoard::keyboard_update(QByteArray recieved_key)
{
qDebug() << "recieved key == " << recieved_key;
qDebug() << "button == " << recieved_key.at(8);
emit keyboard_respoense("PRESS ENTER TO SELECT TRAIN");
return 1;
}
В моем основном классе я ловлю свой сигнал так: -
keyboard = new KeyBoard;
connect(keyboard,SIGNAL(keyboard_respoense(QString message)),this,SLOT(send_to_MBU(QString message)));
но когда я вызываю функцию keyboard_update, используя эту строку: -
keyboard->keyboard_update(raw_data_MBU_qb);
Он входит в функцию keyboard_update (), но никогда не излучает сигнал, или, может быть, он излучает сигнал, но я не могу его уловить. Поэтому, пожалуйста, скажите мне, что именно мне здесь не хватает.