Как я могу запустить таймер внутри Qthread?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как я могу запустить таймер внутри Qthread?

Сообщение Anonymous »

Я хотел бы запустить таймер внутри qthread. Я написал какой -то код, в котором я получаю ошибку во время выполнения. Что я делаю не так? >
< /blockquote>
main .h файл, *mainwindow.h < /h3>
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include
#include "mythread.h"
namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
Q_OBJECT

public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
MyThread *myt;

private:
Ui::MainWindow *ui;
};

#endif // MAINWINDOW_H
< /code>
main .cpp файл, mainwindow.cpp < /h3>
#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
myt = new MyThread();
myt->start();
MainWindow w;
}

MainWindow::~MainWindow()
{
delete ui;
}

класс для потока, файл mythread.h
#ifndef MYTHREAD_H
#define MYTHREAD_H
#include
#include

class MyThread:public QThread
{
public:
MyThread();
void run();
QTimer *thr;

public slots:
void slo();
};

#endif // MYTHREAD_H

file mythread.cpp
#include "mythread.h"

MyThread::MyThread()
{
thr = new QTimer();
connect(thr, SIGNAL(timeout()), this, SLOT(slo()));
}

void MyThread::run()
{
thr->start(1000);
}

void MyThread::slo()
{
int i, j = 0;
i = i + j;
}


Подробнее здесь: https://stackoverflow.com/questions/189 ... -a-qthread
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»