Здравствуйте, опять понадобилось взяться за Qt и натолкнулся на непонятную мне проблему. Пишу программу, которая должна загружать изображение и изменять размеры окна под размер изображения. В качестве основного класса используется QMainWindow, изображение выводится на QLabel.
Код:
void MainWindow::openImage()
{
QString fileName = QFileDialog::getOpenFileName(this);
if (!fileName.isEmpty())
{
QPixmap myImage(fileName);
int borderWidth = this->frameGeometry().width() - centralImage->width();
int borderHeight = this->frameGeometry().height() - centralImage->height();
this->window()->resize(myImage.width() + borderWidth, myImage.height() + borderHeight);
centralImage->clear();
centralImage->setPixmap(myImage);
}
}
Проблема в том, что если открыть после большого изображения маленькое, то по бокам остаются здоровые полосы (см. аттач). Если закомментить centralImage->setPixmap(myImage);, то всё изменяется корректно. Подскажите, пожалуйста, в какую сторону копать.