Russian Qt Forum
Апрель 23, 2024, 19:55 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QPixmap::scaled не работает в QtConcurrent [РЕШЕНО]  (Прочитано 3989 раз)
Anaconda
Гость
« : Август 31, 2016, 21:35 »

Всем привет, перерыл половину Интернета, ответа не нашёл. Есть функция, которая уменьшает изображения, взятые из файлов, вектор которых подаётся в аргументе:

Код:
void MainWindow::make(QVector <QString> addresses){
//---
        QPixmap *pix = new QPixmap(QPixmap(DirName + "/" + resultList[i]).scaled(150,150,Qt::KeepAspectRatio,Qt::SmoothTransformation));
//---    
}
Эту функцию я хочу вынести в отдельный поток, чтобы не грузила гуй. Выношу таким образом:
Код:
QtConcurrent::run(this, &MainWindow::make, addresses);
Код отрабатывает, но вываливает в консоль следующее:
Код:
QPixmap: It is not safe to use pixmaps outside the GUI thread
QPixmap::scaled: Pixmap is a null pixmap
QPixmap: It is not safe to use pixmaps outside the GUI thread
QPixmap: It is not safe to use pixmaps outside the GUI thread
Естественно, изображение отсутствует там, где должно быть. Такое ощущение, что программа не может по каким-то причинам считать файл, однако все пути правильные, вне этой функции код отрабатывает идеально. В чём может быть дело? Заранее спасибо за любые советы.
« Последнее редактирование: Август 31, 2016, 21:42 от Anaconda » Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #1 : Август 31, 2016, 21:38 »

Ну так в сообщении прямо сказано, что QPixmap использовать вне гуя нежелательно, т.к. QPixmap изначально был задуман для применения в гуе.
Используйте QImage.
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Anaconda
Гость
« Ответ #2 : Август 31, 2016, 21:44 »

Используйте QImage.
Чёрт, я весь вечер мучался, а надо-то было только заменить одно на другое. Огромное Вам спасибо!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.046 секунд. Запросов: 22.