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