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

Как заспаунить статичный BackGround в Qt?

Использую на данный момент графический класс QGraphicsView.
Для того, что бы залить background использую:
view->setBackgroundBrush(QPixmap(":/images/bg.jpg"));

Суть вопроса в том, что при таком отображении бэкграунд заливается копированием текстуры. Меня интересует метод, когда можно позиционировать по середине экрана картинку, без её дублирования и прочей деформации.
  • Вопрос задан
  • 1234 просмотра
Подписаться 2 Оценить 3 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    Разработчик на C++: Профессия + специализация + нейросети
    12 месяцев
    Далее
  • Skillbox
    Разработчик на C++
    7 месяцев
    Далее
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
Решения вопроса 1
@Yapparov_Ilyas
QGraphicsView* view= new QGraphicsView;
QPixmap img;
img.load("some_image");
view->setBackgroundBrush(img.scaled(*QSize*));

Устанавливайте фон ровно под размер вашего виджета, тогда дублирования картинки можно избежать. Если окно меняет размер, то переопределите resizeEvent.
Также скорее всего придется установить размер рабочей области setSceneRect, иначе фон начнет бесконечно расширяться при выходе объекта за пределы окна.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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