Как запустить QTimer в QtConcurrent::run

170
28 июля 2018, 06:50

Kак запустить запустить QTimer в QtConcurrent::run?

Я попробовал так, но пишет - не правильный вызов функции:

for (int i =0; i < test_checkbox.length(); i++ )
{
    if (Value == true)
    {
        if(test_checkbox[i]->isChecked() ==Value)
        {
               // timer->start(struc_mess_add.MS);  // так работает
               QtConcurrent::run(timer->start(vector_struc_mess_add[i].MS),&timer); // запустит слот после окончания временного промежутка  
               // создаю поток с своим таймером
         }
    } else {
        qDebug() << "chekbocks:" << " False";
        timer->stop(); // обязательно надо завершить timer, ведет себя(timer) считай как поток !.
    }
}

А вот слот на который он завязан:

connect(timer, SIGNAL(timeout()), this, SLOT(KAN_minimal())); // делаю соединение

В заголовочном файле:

QTimer *timer  = new QTimer(); // !!! создаю таймер 

Пытался через вектор попробывать. Но при этом не выдаёт ошибку.

 timer = new QTimer();      // объявляем и инициализируем timer
 vector_qtimer.append(timer);   // кладём timer  в вектор
 vector_qtimer[i]->start(vector_struc_mess_add[i].MS);

В заголовочном файле:

 QTimer *timer  = new QTimer(); // !!! создаю таймер  
 QVector<QTimer*> vector_qtimer;
Answer 1

QtConcurrent::run(...) лишний, сигналы/слоты прекрасно отрабатывают без него. При динамическом создании таймеров и размещением их в вектор Вы забываете сигналы вновь созданного таймера соединить со слотом.

READ ALSO
Приложение падает на вызове DeviceIoControl

Приложение падает на вызове DeviceIoControl

Необходимо получить смещение разделов жёсткого дискаЯ делаю это следующим образом:

190
Как работает валидатор ввода в данном методе?

Как работает валидатор ввода в данном методе?

Пытаюсь понять, как работает данное решение с валидатором (вложенный в 'do' while)Никак не могу понять порядок исполнения кода

187
Загрузка файлов в удаленную MongoDB GridFS

Загрузка файлов в удаленную MongoDB GridFS

Нужно записывать метаданные и большие файлы в удаленную MongoDBИзвестен адрес сервера с монгой

140
Как передвинуть маркер в google map Android

Как передвинуть маркер в google map Android

подскажите пожалуйста как передвинуть или удалить маркер в google map Android

201