Я пытаюсь запустить два потока. Один из них - не-Gui-нить, а другой - поток GUI. Теперь, когда я пытаюсь поместить изображение в QLabel с помощью команды
imageLabel->setPixmap(QPixmap::fromImage(image));
тогда я получаю сообщение об ошибке: QPixmap: Это не безопасно использовать растры за пределами GUI потоке.Как установить QLabel с помощью setPixmap из указателя QImage * image?
Итак, чтобы решить вышеупомянутую проблему. Я объявил QImage *image;
в моем файле заголовка, и я получаю свое изображение с msg на * image с помощью image = new QImage(&(msg->data[0]), msg->width, msg->height, QImage::Format_RGB888);
, а затем я хочу установить свое изображение в QLabel с этого указателя. Но я не понимаю, какой формат setPixmap следует использовать сейчас. Обычный код imageLabel->setPixmap(QPixmap::fromImage(image));
сейчас не работает QImage *image
является указателем типа.
Таким образом, в основном я пытаюсь сделать следующее: -
QImage *image; //in header file
QLabel *imageLabel: //in header file
image = new QImage(&(msg->data[0]), msg->width, msg->height, QImage::Format_RGB888);
imageLabel->setPixmap(QPixmap::fromImage(???????));
На самом деле я объявил функцию 'void SelectionInterface :: assignImage()' как функцию слота в файле заголовка. Затем я хочу вызвать эту функцию при нажатии кнопки. Внутри этой функции я хочу присвоить '* image'' imageLabel', обратившись к коду 'imageLabel-> setPixmap (QPixmap :: fromImage (* image)); но когда я нажал кнопку ... тогда ничего не происходит – skm
Чтобы проверить, работает ли fuction как функция слота или нет, я попытался поместить некоторый текст в imageLabel, когда нажата кнопка ... и это сработало. И затем в том же funtion, я попытался загрузить некоторое изображение с моего компьютера и поместить его в imageLabel при нажатии кнопки .... это не сработало. Не могу понять, почему? – skm
Возможно, вам нужно создать другой вопрос с более подробным объяснением. Эта проблема полностью отделена от вашего первоначального вопроса. –