QT EMIT Kommunikation mehrfädigen

Rubrik:

#ifndef HEAD_H

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

Klasse MyThread: public QThread
{
    Q_OBJECT
public:
    MyThread ();
    void run ();
Signale:
    Leer send (QString s);
};

Klasse mywidget: public QWidget {
    Q_OBJECT
public:
    mywidget (QWidget * parent = 0);
    ~ Mywidget ();
öffentliche Slots:
    Leer receiveslot (QString s);
};
#endif // HEAD_H



CPP文件: #include "head.h"

MyThread :: MyThread ()
{
}
Leere MyThread :: run ()
{
    while (true)
    {
    Schlaf (5);
    Emit senden ( „Dies ist der Sohn thread“);
    qDebug () << "Thread läuft!";
    }
// exec ();
    QThread :: run ();
}


Mywidget :: mywidget (QWidget * parent): QWidget (parent)
{

}
mywidget :: ~ mywidget ()
{
}
Leere mywidget :: receiveslot (QString s)
{
QMessageBox :: Informationen (0, "Information", s);
}


Int main (int argc, char * argv [])
{
    QApplication a (argc, argv);
    Mywidget w;
    w.show ();
    MyThread * mth = new MyThread;
    QObject :: connect (mth, SIGNAL (send (QString)), & w, SCHLITZ (receiveslot (QString)));
    mth-> start ();
    Rück a.exec ();
}

PRO-Datei:

QT + = Kern gui

greaterThan (QT_MAJOR_VERSION, 4): QT + = widgets
CONFIG + = C ++ 11

TARGET = untitled35


TEMPLATE = app

SOURCES + = main.cpp

HEADERS + = \
    head.h




Veröffentlicht 12 Original - Artikel · erntete Lob 6 · Ansichten 20000 +

Ich denke du magst

Origin blog.csdn.net/huaweizte123/article/details/52744507
Empfohlen
Rangfolge