Михаиллл
МихаилллСәуір 30, 2019, 11:16 Т.Қ.

Автомаштабирование фонового изображения в Qt

Добрый день.
Создаю так фоновое изображение в программе, нооно не растянуто, а замощено.
Скажите пожалуйста, как его растянуть?

QPalette Pal(palette());
    //QImage background(":/Images/Images/splash-background.png");
    QImage background(":/Images/Images/ico-qr.png");
    Pal.setBrush(QPalette::Background, background);
    this->setAutoFillBackground(true);
    this->setPalette(Pal);
Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

Ол саған ұнайды ма? Әлеуметтік желілерде бөлісіңіз!

6
Михаиллл
  • Сәуір 30, 2019, 11:45 Т.Қ.

Так же фон можно задать так, но тоже не пойму как растянуть

this->setStyleSheet("background-image: url(:/Images/Images/ico-qr.png); ");
    Evgenii Legotckoi
    • Мамыр 1, 2019, 2:41 Т.Қ.
    • Жауап шешім ретінде белгіленді.

    Добрый день.

    Попробуйте так

    QPixmap bkgnd(":/Images/Images/splash-background.png");
    bkgnd = bkgnd.scaled(size(), Qt::IgnoreAspectRatio);
    QPalette p = palette(); //copy current, not create new
    p.setBrush(QPalette::Background, bkgnd);
    setPalette(p);
    
      Михаиллл
      • Мамыр 1, 2019, 4:04 Т.Қ.

      Спасибо, заработало.

        Михаиллл
        • Мамыр 1, 2019, 6:10 Т.Қ.

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

          Evgenii Legotckoi
          • Мамыр 1, 2019, 6:14 Т.Қ.

          resizeEvent переопределите

          void MainWindow::resizeEvent(QResizeEvent *evt)
          {
          QPixmap bkgnd(":/Images/Images/splash-background.png");
          bkgnd = bkgnd.scaled(size(), Qt::IgnoreAspectRatio);
          QPalette p = palette(); //copy current, not create new
          p.setBrush(QPalette::Background, bkgnd);
          setPalette(p);
          
          QMainWindow::resizeEvent(evt); //call base implementation
          }
          
            Михаиллл
            • Мамыр 1, 2019, 6:18 Т.Қ.

            Спасибо

              Пікірлер

              Тек рұқсаты бар пайдаланушылар ғана пікір қалдыра алады.
              Кіріңіз немесе Тіркеліңіз
              Ua

              Qt - Тест 001. Сигналы и слоты

              • Нәтиже:84ұпай,
              • Бағалау ұпайлары4
              Ua

              Qt - Тест 001. Сигналы и слоты

              • Нәтиже:42ұпай,
              • Бағалау ұпайлары-8
              ОК

              Qt - Тест 001. Сигналы и слоты

              • Нәтиже:47ұпай,
              • Бағалау ұпайлары-6
              Соңғы пікірлер
              ИМ
              Игорь МаксимовҚар. 22, 2024, 9:51 Т.Қ.
              Django - Оқулық 017. Теңшелген Django кіру беті Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
              Evgenii Legotckoi
              Evgenii LegotckoiҚаз. 31, 2024, 11:37 Т.Қ.
              Django - Сабақ 064. Python Markdown кеңейтімін қалай жазуға болады Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
              A
              ALO1ZEҚаз. 19, 2024, 5:19 Т.Қ.
              Qt Creator көмегімен fb3 файл оқу құралы Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
              ИМ
              Игорь МаксимовҚаз. 5, 2024, 4:51 Т.Қ.
              Django - Сабақ 064. Python Markdown кеңейтімін қалай жазуға болады Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
              d
              dblas5Шілде 5, 2024, 8:02 Т.Қ.
              QML - Сабақ 016. SQLite деректер қоры және онымен QML Qt-та жұмыс істеу Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
              Енді форумда талқылаңыз
              f
              firstlunoxodАқп. 15, 2025, 1:46 Т.Қ.
              Рисование на QGraphicsScene при зажатой кнопке мыши Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
              Дмитрий
              ДмитрийАқп. 3, 2025, 4:24 Т.Қ.
              Создание deb-пакета. Как создать ярлык на рабочем столе после установки собственного deb-пакета? Всем привет. Сделал свой deb-пакет с программой. Всё устанавливается и работает. Ставлю по пути /usr/bin/my_application. Как для пользователя при установке пакета сразу создать ярлык на раб…
              NW
              Nayo WaiҚаң. 30, 2025, 7:22 Т.Қ.
              не запускается компьютер!!! Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
              n
              nklyҚаң. 3, 2025, 12:52 Т.Қ.
              Нужно запретить перемещение только некоторых итемов, остальные перемещать можно. Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
              M
              MarselТам. 17, 2023, 12:26 Т.Ж.
              OAuth2.0 через VK, получение email Спасибо большое за помощь и простите за то что отнял время своей невнимательностью.

              Бізді әлеуметтік желілерде бақылаңыз