VD
Vitaly Dobrokhotov30 липня 2020 р. 10:16

Не растягивается изображение при увеличении окна

Qt, C++

Добрый день.
При увеличинии окна картинка, которая вставляется в лейбл не растягивается, хотя я вроде всё засунул в лейбл и выставил sizePolicy. Может кто знает, что я делаю не так, и как это починить?

#include "mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    window = new QWidget(parent);
    label = new QLabel("Path");
    image = new QLabel("image");
    btn = new QPushButton("Open file");
    vlayout = new QVBoxLayout;
    hlayout = new QHBoxLayout;
    data = new dataCV;

    hlayout->addWidget(label);
    hlayout->addWidget(btn);
    vlayout->addLayout(hlayout);
    vlayout->addWidget(image);
    window->setLayout(vlayout);
    setCentralWidget(window);

    btn->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
    image->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);

    connect(btn, SIGNAL(clicked()), this, SLOT(OpenFile()));
}

void MainWindow::OpenFile()
{
   QImage img("D://picture1.png");
   image->setPixmap(QPixmap::fromImage(img));
}
Рекомендуємо хостинг TIMEWEB
Рекомендуємо хостинг TIMEWEB
Стабільний хостинг, на якому розміщується соціальна мережа EVILEG. Для проектів на Django радимо VDS хостинг.

Вам це подобається? Поділіться в соціальних мережах!

2
Evgenii Legotckoi
  • 30 липня 2020 р. 10:23

Добрый день.
У вас изменяется размер самого QLabel, но никак не его содержимого, то есть добавленного изображения.
При изменении размеров QLabel, нужно масштабировать и перестанавливать изображение заново.

Можно наследоваться от QLabel и переопределить его метод paint в котором устанавливать изображение. Метод paint вызывается автоматически при изменении размеров виджета.

    VD
    • 30 липня 2020 р. 12:32

    Спасибо огромное за ответ. Сам я к сожалению пока не в силах правильно переопределить т. к. только начал изучать Qt, но зато благодаря вам я быстро нашел решение своей проблемы.

      Коментарі

      Only authorized users can post comments.
      Please, Log in or Sign up
      AD

      C++ - Тест 004. Указатели, Массивы и Циклы

      • Результат:50бали,
      • Рейтинг балів-4
      m
      • molni99
      • 26 жовтня 2024 р. 01:37

      C++ - Тест 004. Указатели, Массивы и Циклы

      • Результат:80бали,
      • Рейтинг балів4
      m
      • molni99
      • 26 жовтня 2024 р. 01:29

      C++ - Тест 004. Указатели, Массивы и Циклы

      • Результат:20бали,
      • Рейтинг балів-10
      Останні коментарі
      ИМ
      Игорь Максимов22 листопада 2024 р. 11:51
      Django - Підручник 017. Налаштуйте сторінку входу до Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
      Evgenii Legotckoi
      Evgenii Legotckoi31 жовтня 2024 р. 14:37
      Django - Урок 064. Як написати розширення для Python Markdown Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
      A
      ALO1ZE19 жовтня 2024 р. 08:19
      Читалка файлів fb3 на Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
      ИМ
      Игорь Максимов05 жовтня 2024 р. 07:51
      Django - Урок 064. Як написати розширення для Python Markdown Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
      d
      dblas505 липня 2024 р. 11:02
      QML - Урок 016. База даних SQLite та робота з нею в QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
      Тепер обговоріть на форумі
      Evgenii Legotckoi
      Evgenii Legotckoi24 червня 2024 р. 15:11
      добавить qlineseries в функции Я тут. Работы оень много. Отправил его в бан.
      t
      tonypeachey115 листопада 2024 р. 06:04
      google domain [url=https://google.com/]domain[/url] domain [http://www.example.com link title]
      NSProject
      NSProject04 червня 2022 р. 03:49
      Всё ещё разбираюсь с кешем. В следствии прочтения данной статьи. Я принял для себя решение сделать кеширование свойств менеджера модели LikeDislike. И так как установка evileg_core для меня не была возможна, ибо он писался…
      9
      9Anonim25 жовтня 2024 р. 09:10
      Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…

      Слідкуйте за нами в соціальних мережах