Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Hvzh от Ноябрь 02, 2015, 10:47



Название: У QScrollArea не появляются полосы прокрутки
Отправлено: Hvzh от Ноябрь 02, 2015, 10:47
Доброго времени суток!

В дизайнере наваял интерфейс пользователя (файл прилагаю - mainwindow.ui). Последний элемент интерфейса - QLabel - добавляю в тексте:

Код:
    imageLabel = new QDrawLabel;
    imageLabel->setBackgroundRole(QPalette::Dark);
    imageLabel->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
    imageLabel->setScaledContents(true);
    imageLabel->setAlignment(Qt::AlignCenter);
    imageLabel->setText(tr("<H1 style=\"color:black\">No Camera</H1>"));
    ui->scrollArea->setWidget(imageLabel);


Далее в imageLabel помещаю изображение. Пытался так:

Код:
    ui->scrollArea->setMinimumHeight(ui->scrollArea->width()*0.66);
    imageLabel->setPixmap(QPixmap::fromImage(img.scaled(this->width(), this->height(), Qt::KeepAspectRatioByExpanding)));

и так:

Код:
    ui->scrollArea->setMinimumHeight(ui->scrollArea->width()*0.66);
    imageLabel->setPixmap(QPixmap::fromImage(img));

Вопреки моим ожиданиям полосы прокрутки не появилось, а изображение по непонятным мне причинам просто масштабировалось под текущий размер окна. Подскажите, где может скрываться ошибка? У меня есть несколько других вариантов интерфейса, в них изображение отображается нормально. Для сравнения прикрепляю еще один ui-файл, с ним все работает нормально.


Название: Re: У QScrollArea не появляются полосы прокрутки
Отправлено: Tamori Nao от Ноябрь 02, 2015, 11:16
Посмотри в примерах Qt: image viewer example


Название: Re: У QScrollArea не появляются полосы прокрутки
Отправлено: Hvzh от Ноябрь 02, 2015, 11:27
Посмотри в примерах Qt: image viewer example
Я с него и начинал :)


Название: Re: У QScrollArea не появляются полосы прокрутки
Отправлено: Tamori Nao от Ноябрь 02, 2015, 13:19
Попробуй открыть картинку с этим
Imagelabel->adjust size()


Название: Re: У QScrollArea не появляются полосы прокрутки
Отправлено: Hvzh от Ноябрь 02, 2015, 13:33
Попробуй открыть картинку с этим
Imagelabel->adjust size()

Это все уже опробовано