crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> При запуске Qthread приложение вылетает с ошибкой
Asgardian2010
  опции профиля:
сообщение 19.10.2012, 11:20
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 6
Регистрация: 19.10.2012
Пользователь №: 3569

Спасибо сказали: 0 раз(а)




Репутация:   0  


Всем привет. столкнулся с необходимостью вывести выполнение функции в поток. Написал по примеру создание и вызов потока, который просто записывает в файл значение, но программа вылетает при запуске потока. Буду рад любой помощи.

thread.h
#ifndef THREAD_H
#define THREAD_H
#include <QThread>
#include <QFile>
#include <QTextStream>
#include <mainwindow.h>

class   Myth : public QThread
{
    Q_OBJECT
public:
    void run()
    {
        QFile file ("d://1.txt");
        file.open(QIODevice::Append|QIODevice::Text);
        QTextStream out (&file);

        for (int i =0; i<123; ++i)
        {
            int a=i;
            out<<"ec";
            out<<a;
        }
        file.close();
    }
};
#endif // THREAD_H


mainwindow.cpp

#include "thread.h"
void MainWindow::on_pushButton_3_clicked()
{
    Myth thread1;
    thread1.start();
}


При нажатии на кнопку на форме вылетают 2 ошибки
Прикрепленное изображение

Прикрепленное изображение


Если смотреть под отладчиком, вылетает ошибка
Прикрепленное изображение
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Asgardian2010
  опции профиля:
сообщение 19.10.2012, 13:36
Сообщение #2


Новичок


Группа: Новичок
Сообщений: 6
Регистрация: 19.10.2012
Пользователь №: 3569

Спасибо сказали: 0 раз(а)




Репутация:   0  


а,это да. такая путаница возникла,когда я изначально пытался вызвать метод класса QmainWindow в классе потока)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


6 чел. читают эту тему (гостей: 6, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 4.12.2024, 18:33