crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в QFuture и QtConcurrent
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
RazrFalcon Дата 4.8.2011, 14:53
  Может:
MyClass MC;
QFuture<QString> f1 = QtConcurrent::run(this, MC::getSomeString);
wiz29 Дата 4.8.2011, 14:39
  смотри в сторону QFutureWatcher
MyClass myObject;
QFutureWatcher<int> watcher;
connect(&watcher, SIGNAL(finished()), &myObject, SLOT(handleFinished()));

// Start the computation.
QFuture<int> future = QtConcurrent::run(...);
watcher.setFuture(future);

это пример из документации Qt
silver47 Дата 4.8.2011, 12:44
  Доброго времени суток.

Опять вернулся к запуску методов в другом потоке с помощью QtConcurrent::run. Теперь появилась задача, запустить в другом потоке метод, который возвращает некоторые значения. Для этого как бы служит QFuture. Но не пойму как им пользоваться.

допустим есть некий класс MyClass, со своим методом QString MyClass::getSomeString(); Как получить строку, возвращаемую этим методом?

MyClass MC;
QFuture<QString> f1 = QtConcurrent::run(&MC, MC.getSomeString);


Ошибка при сборке:
argument of type 'QString (MyClass::)()' does not match 'QString (MyClass::*)()'

Толковых примеров использования не нашел.

Спасибо.
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 25.4.2024, 15:42