Size: a a a

2020 June 30

M

Mysle in Qt
работаю с апи браузера, которое может бесконечно долго не отвечать на запрос, при этом не разрывая соединение.
источник

Е

Егор in Qt
Mysle
работаю с апи браузера, которое может бесконечно долго не отвечать на запрос, при этом не разрывая соединение.
может таймаут поставить лучше?
источник

M

Mysle in Qt
Сделал внешнюю обработку времени последней активности. Теперь нужно как - то прервать сие действо
источник

Е

Егор in Qt
вот что дока говорит про QThread::terminate
Warning: This function is dangerous and its use is discouraged. The thread can be terminated at any point in its code path. Threads can be terminated while modifying data. There is no chance for the thread to clean up after itself, unlock any held mutexes, etc. In short, use this function only if absolutely necessary.
источник

M

Mysle in Qt
да, поэтому я и написал сюда
источник

Е

Егор in Qt
Mysle
да, поэтому я и написал сюда
Может как-то с этим https://doc.qt.io/qt-5/qthread.html#quit?
Типо
 connect(&watcher,&Watcher::errorDetected,&mythread,&QThread::quit)
источник

M

Mysle in Qt
Егор
может таймаут поставить лучше?
может и лучше: действительно
источник

Е

Егор in Qt
Mysle
может и лучше: действительно
А это QNetworkReply ожидается? Там в заголовке можно поставить вроде
источник

M

Mysle in Qt
Егор
Может как-то с этим https://doc.qt.io/qt-5/qthread.html#quit?
Типо
 connect(&watcher,&Watcher::errorDetected,&mythread,&QThread::quit)
На сколько я помню, quit дожидается выполнения действия перед выходом
источник

M

Mysle in Qt
Егор
А это QNetworkReply ожидается? Там в заголовке можно поставить вроде
курл использую, но в нем тоже можно сделать - только что посмотрел доку
источник

Е

Егор in Qt
Mysle
курл использую, но в нем тоже можно сделать - только что посмотрел доку
Ну лучше как-то с таймаутом сделать, а то вот такие нетривиальные задачи могут о неправильной архитектуре свидетельствовать, что надо самому следить чтобы треды не умирали, и убивать их при надобности
источник

Е

Егор in Qt
Mysle
На сколько я помню, quit дожидается выполнения действия перед выходом
Вроде бы нет
void QThread::exit(int returnCode)
{
   Q_D(QThread);
   QMutexLocker locker(&d->mutex);
   d->exited = true;
   d->returnCode = returnCode;
   d->data->quitNow = true;
   for (int i = 0; i < d->data->eventLoops.size(); ++i) {
       QEventLoop *eventLoop = d->data->eventLoops.at(i);
       eventLoop->exit(returnCode);
   }
}

Внимание на флаг quitNow
источник

Е

Егор in Qt
Подскажите как сделать так, чтобы анимация всегда доходила до конца, если анимация бесконечная (прерывается по ивенту). Вот я сделал пример минимальный, нужно чтобы стрелочка вернулась в исходное положение https://pastebin.com/R2YK7N82
источник

CC

Coccine Coccine in Qt
Хз, вроде как интервал не поменять
источник

CC

Coccine Coccine in Qt
Завтра подумаю что можно придумать
источник

Е

Егор in Qt
Да и я вот пытался менять loops, но анимация бесконечная всё равно
источник

CC

Coccine Coccine in Qt
Скорее всего нужно создать вторую, похожую анимацию, с определенным количеством повторений. Другое честно не ридумал
источник

CC

Coccine Coccine in Qt
А какая задача стоит?
источник

Е

Егор in Qt
Coccine Coccine
А какая задача стоит?
Обновить айтем в списке, запрос в сеть летит, так что ставить какое-то фиксированное время не хотелось бы, иначе гуй не будет отображать реальное положение вещей. Когда ответ прилетает - анимация заканчивается
источник

CC

Coccine Coccine in Qt
А, и вернуть rotation к нулю?
источник