QT многопоточной EMIT связи

Заголовок:

#ifndef HEAD_H

#define HEAD_H
#include <QWidget>
#include <QThread>
#include <QMessageBox>
#include <QApplication>
#include <QDebug>

класс MyThread: общественный QThread
{
    Q_OBJECT
общественности:
    MyThread ();
    недействительный запуск ();
сигналы:
    недействительные отправить (QString с);
};

Класс MyWidget: общественный QWidget {
    Q_OBJECT
общественности:
    MyWidget (QWidget * Родитель = 0);
    ~ MyWidget ();
открытые слоты:
    недействительный receiveslot (QString с);
};
#endif // HEAD_H



CPP文件: #include "head.h"

MyThread :: MyThread ()
{
}
недействительным MyThread :: Run ()
{ в
    то время (правда)
    {
    сна (5);
    Испустите отправить ( «Это сын нить»);
    QDebug () << "Нить работает!";
    }
// Exec ();
    QThread :: Run ();
}


MyWidget :: MyWidget (QWidget * Родитель): QWidget (родитель)
{

}
MyWidget :: ~ MyWidget ()
{
}
недействительным MyWidget :: receiveslot (QString S)
{
QMessageBox :: информацию (0, "Информация", с);
}


INT основных (INT ARGC, символ * ARGV [])
{
    QApplication а (ARGC, ARGV);
    MyWidget ж;
    w.show ();
    MyThread * MTH = новый MyThread;
    QObject :: Connect (MTH, SIGNAL (посыла (QString)), & ш, SLOT (receiveslot (QString)));
    mth-> старт ();
    вернуть a.exec ();
}

PRO файла:

QT + = основной графический интерфейс

GreaterThan (QT_MAJOR_VERSION, 4): QT + = виджеты
CONFIG + = C ++ 11

TARGET = untitled35


ОБРАЗЦА = приложение

источники + = main.cpp

HEADERS + = \
    head.h




Опубликовано 12 оригинальных статей · вона похвала 6 · просмотров 20000 +

рекомендация

отblog.csdn.net/huaweizte123/article/details/52744507