-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathexampleobject.cpp
69 lines (57 loc) · 1.51 KB
/
exampleobject.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#include "exampleobject.h"
#include "qthread.h"
#include <QDebug>
ExampleObject::ExampleObject(QObject *parent) :
QObject(parent),
m_message(""),
m_message_2("")
{
}
bool ExampleObject::running() const
{
return m_running;
}
QString ExampleObject::message() const
{
return m_message;
}
QString ExampleObject::message_2() const
{
return m_message_2;
}
// Самый важный метод, в котором будет выполняться "полезная" работа объекта
void ExampleObject::run()
{
count = 0;
// Переменная m_running отвечает за работу объекта в потоке.
// При значении false работа завершается
while (m_running)
{
count++;
emit sendMessage(m_message); // Высылаем данные, которые будут передаваться в другой поток
qDebug() << m_message << " " << m_message_2 << " " << count;
QThread::sleep(1);
}
emit finished();
}
void ExampleObject::setRunning(bool running)
{
if (m_running == running)
return;
m_running = running;
emit runningChanged(running);
}
void ExampleObject::setMessage(QString message)
{
if (m_message == message)
return;
m_message = message;
emit messageChanged(message);
}
void ExampleObject::setMessage_2(QString message_2)
{
if (m_message_2 == message_2)
return;
m_message_2 = message_2;
emit message_2Changed(message_2);
}