Доброго времени суток.
Опять вернулся к запуску методов в другом потоке с помощью QtConcurrent::run. Теперь появилась задача, запустить в другом потоке метод, который возвращает некоторые значения. Для этого как бы служит QFuture. Но не пойму как им пользоваться.
допустим есть некий класс MyClass, со своим методом QString MyClass::getSomeString(); Как получить строку, возвращаемую этим методом?
MyClass MC;
QFuture<QString> f1 = QtConcurrent::run(&MC, MC.getSomeString);
смотри в сторону QFutureWatcher
MyClass myObject;
QFutureWatcher<int> watcher;
connect(&watcher, SIGNAL(finished()), &myObject, SLOT(handleFinished()));
// Start the computation.
QFuture<int> future = QtConcurrent::run(...);
watcher.setFuture(future);
Может:
MyClass MC;
QFuture<QString> f1 = QtConcurrent::run(this, MC::getSomeString);
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)