Hye,
I'm a little bit lost.
I have a problem about thread => QThread: Destroyed while thread is still running
Moreover, I can't say why but if I comment f) and g) the error disappeares.
|
Source code
|
1
2
3
|
finalCountDown countDown(numYear,numMonth,numDay,70);
countDown.start();
countDown.wait();
|
|
Source code
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#define FINALCOUNTDOWN_H
#include <QThread>
#include <QVector>
#include "figure.h"
class finalCountDown : public QThread
{
private :
int numYear;
int numMonth;
int numDay;
int lifeExpectancy;
int dayAmount;
int hourAmount;
int minuteAmount;
int secondAmount;
public:
finalCountDown(int,int,int,int);
void run();
};
#endif
|
|
Source code
|
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
|
finalCountDown :: finalCountDown(int _numYear,int _numMonth,int _numDay,int _lifeExpectancy)
{
this->numYear =_numYear;
this->numMonth = _numMonth;
this->numDay = _numDay;
this->lifeExpectancy = _lifeExpectancy;
}
void finalCountDown :: run()
{
QDateTime now(QDate(numYear,numMonth,numDay),QTime(0,0));
QDateTime toDeath (QDate(numYear+lifeExpectancy,numMonth,numDay),QTime(0,0));
long calculateSec = (long)toDeath.secsTo(now);
long calculateMin = (calculateSec%86400)%3600/60;
long calculateHour = (calculateSec%86400)/3600;
long calculateDay = calculateSec/86400 ;
long seconde = calculateSec%86400%3600%60;
figure secondAmount(seconde);
figure minuteAmount(calculateMin);
figure hourAmount(calculateHour);
figure dayAmount(calculateDay);
qDebug("calculateSec : %ld",seconde);
qDebug("calculateMin : %ld",calculateMin);
qDebug("calculateHour : %ld",calculateHour);
qDebug("calculateDay : %ld",calculateDay);
QVector<figure> countDown = secondAmount.toVector();
QVector<figure> minuteInVector = minuteAmount.toVector();
f)QVector<figure> hourInVector = hourAmount.toVector();
g)QVector<figure> dayInVector = dayAmount.toVector();
qDebug("Convertion done ");
int i = 0;
while(i<5)
{
qDebug("Debug %d",i);
i++;
sleep(1);
}
this->exit();
}
|
|
Source code
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
#ifndef FIGURE_H
#define FIGURE_H
#include <QVector>
class figure
{
public :
long nb;
figure();
figure(long);
long getNb();
long operator+(int);
long operator-(int);
QVector<figure> toVector();
QVector<figure> meltVector(QVector<figure>,QVector<figure>);
};
|