Qt5.7 MSVC2015_64/GCC 5.4 GUI приложение. Я хочу чтобы таймер отрабатывал в отдельном потоке.
В классе главной формы:
m_tmr = new Timer(1000); //класс поток для таймера
m_tmr->start();
connect(m_tmr, &Timer::sg_TimOut, this, &MainForm::updateByTimer, Qt::DirectConnection);
Сам таймер:
Timer::Timer(int interval) :
m_interval(interval),
m_startFlag(true)
{
}
Timer::~Timer()
{
//delete timer;
//quit();
}
void Timer::run()
{
QTimer timer;
connect(&timer, &QTimer::timeout, this, &Timer::sg_TimOut);
connect(this, &Timer::timerStoped, &timer, &QTimer::stop);
if (m_startFlag)
timer.start(m_interval);
exec();
//mit finished(this->thread());
}
void Timer::startTimer(int interval)
{
m_interval = interval;
m_startFlag = true;
emit timerStarted(interval);
}
void Timer::stop()
{
m_startFlag = false;
emit timerStoped();
}
void Timer::quit()
{
stop();
QThread::quit();
}
на выходе программа выдает следующее?
QThread: Destroyed while thread is still running
Как это выйти из потока и удалить таймер?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Пишу сапёра на с++Для хранения клеток использую двумерный динамический массив(позже планирую пользовательский ввод размера поля)
Я хочу сделать так, что бы некоторый набор элементов в массиве при запуске имел значение trueВ дальнейшем, когда пользователь занимает какую...