получает данные
и пишет в массивы структур. Этот класс с Qt никак не завязан.
Я хочу чтобы он использовал сигнал/слоты Qt ,без множественного наследования:
делаю класс для формирования сигналов:
class SignalSender : public QObject
{
Q_OBJECT
public:
makeSignal(quint32 i) {
emit smthHandled(i);
};
signals:
void smthHandled(quint32 i);
}
наследуюсь от не Qt(SmthNotQt) класса и добавляю сендера сигналов:
class DataProcessor : public SmthNotQt
{
public:
` void handleSocketInput() {`
//..... do smth....
` singal.makeSignal(number);`
};
SignalSender signal;
}
помещаю это все в объект который заветдует udp соединением:
class UdpObj : public QObject
{
public:
DataProcessor processor;
private:
QUdpSocket* sock;
}
Помещаю все это в тред:
UdpObj::moveToThread(&QThread);
и конекчу сигнал с нужным мне объектом:
connect(&UdpObj::DataProcessor::SignalSender, SIGNAL(smthHandled()), this, SLOT(getSignal());
Вопрос, рабочая тема? Или есть логическая задница?
А зачем городить такую сложную конструкцию. Почему не наследовать от QObject и не Qt класс?
Обсуждают сегодня