1
2
3
4
5
6
7
8
9
10
11 | // grabToImage runs in a separate thread
QSharedPointer<QQuickItemGrabResult> grabResult = m_target->grabToImage();
connect(grabResult.data(), &QQuickItemGrabResult::ready, [this, grabResult] {
QFuture<QString> f = QtConcurrent::run(saveScreenshot, m_appId, grabResult);
QFutureWatcher<QString> *watcher = new QFutureWatcher<QString>();
watcher->setFuture(f);
connect(watcher, &QFutureWatcher<QString>::finished, [this, watcher] {
setPath(watcher->future().result());
watcher->deleteLater();
});
});
|