изменение размера изображения в соответствии с новым размером окна графического интерфейса

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

Это моя структура GUI

mainLayout:
toplayout:
QLabel
QPushButton

Теперь у меня есть cv::Mat образ. Я перешел в QPixmap,

Window::Window(QWidget *parent): QDialog(parent)
{
// Widgets
browserButton = new QPushButton(tr("Open"));
imageLabel = new QLabel;

imageLabel->setAlignment(Qt::AlignHCenter);
imageLabel->setScaledContents(true);// Connect Actions
connect(browserButton, SIGNAL(clicked()), this, SLOT(browserClicked()));

// Layouts
QVBoxLayout *topLayout = new QVBoxLayout;
topLayout->addWidget(imageLabel);
topLayout->addWidget(browserButton);

// Main Layout
QVBoxLayout *mainLayout = new QVBoxLayout;
mainLayout->addLayout(topLayout);
setLayout(mainLayout);
setWindowTitle("Image Browser");
}

Это кнопка

void Window::browserClicked()
{
// Get file name as QString
QString fileName = QFileDialog::getOpenFileName(this,
tr("Open Image"),
NULL,
tr("Image Files (*.png *.jpeg *.jpg *.bmp)"));

// Read file name as String not QString and store the image
m_original_CVimg = cv::imread(fileName.toStdString());

imageLabel->setPixmap(this->cvMatToQPixmap(m_original_CVimg));

}

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

0

Решение

Взглянуть на QResizeEvent.

1

Другие решения


По вопросам рекламы [email protected]