Задать вопрос

Qt: не отображается виджет на сцене. как исправить?

есть такой кусок кода, устанавливающий QLabel на сцену

void MainWindow::setBackGround(QString path)
{
    QPixmap pix(path);
    pBackGround->setPixmap(pix);
    pBackGround->resize(pix.size());
    scene.setSceneRect(pix.rect());
    scene.addWidget(pBackGround);
}



где pBackGround — это

pBackGround = new QLabel;


на моем компьютере (установлен QtSDK) все работает, то есть QLabel добавляется на сцену и отображается. но на других компьютерах не работает. насколько я понял, QLabel добавляется без картинки (пустой фон). думал, библиотек каких не хватает, попробовал в рядом с приложением положить библиотеки кутишные: мультимедиа.dll, дизайнер.dll. но не помогло. подскажите в чем проблема.
  • Вопрос задан
  • 3943 просмотра
Подписаться 3 Оценить Комментировать
Решения вопроса 1
ixSci
@ixSci
куда path указывает? В ресурсы?
imageformats вместе с бинарником поставляете?
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
FluffyMan
@FluffyMan Автор вопроса
path указывает на файл в файловой системе.

можно подробней про imageformats?
Ответ написан
FluffyMan
@FluffyMan Автор вопроса
путь выбирается из диалогового окна выбора файла, так что проблема не в этом. действительно, нужно было поместить папку Qt/plugins/imageformats с ее содержимым рядом с исполняемым файлом. спасибо.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы