QT как вызвать сигнал вне класса потока - PullRequest
0 голосов
/ 25 июня 2018

Я определяю класс потока, как инициировать сигнал в другом классе A вне класса потока.класс потока (TestThread.h):

#pragma once
#ifndef TESTTHREAD_H  
#define TESTTHREAD_H  

#include <QThread>  
#include "msg.h"
#include"ConverOSGB.h"
class TestThread : public QThread
{
    Q_OBJECT;
public:
   explicit TestThread(QObject *parent = 0);
protected:
   void run();


 signals:
   //void TestSignal(int);
     void TTestSignal(msg);
 public:
   msg mmsg;
 private slots:
   void showMainmsg(int);

};
#endif // TESTTHREAD_H 

TestThread.cpp:

#include "TestThread.h"
TestThread::TestThread(QObject *parent) :
   QThread(parent)
{
}

void TestThread::run()
{
   Myclass A  =new Myclass()
   A.fun(); // how to  emit signal  in  class  A ?

 }
void TestThread::showMainmsg(int b)
{
    mmsg.int_value = b;
    emit TTestSignal(mmsg);
}

как вызвать сигнал в Myclass A.fun?

1 Ответ

0 голосов
/ 25 июня 2018

Вы можете создать слот в Myclass, который будет срабатывать при излучении сигнала из класса потока, который, в свою очередь, выполняет необходимые действия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...