Хорошо, поэтому я хотел бы отобразить изображение с помощью qt, где размер изображения изменяется в браузере и сохраняется соотношение сторон, при этом оставаясь в центре окна. Я могу заставить изменение размера с соотношением сторон работать правильно, но когда я выравниваю его с помощью Qt::AlignCenter, размер qwidget больше не изменяется (остается фиксированный размер). В общем, я могу заставить любой вариант работать, но не вместе.
Хорошим примером того, что я пытаюсь сделать, может быть функция imshow() в Matlab. Это изменяет размер изображения при сохранении соотношения сторон, а также центрирует изображение в окне. Код, который у меня есть, выглядит примерно так:
void roilayout::resizeEvent(QResizeEvent *event)
{
QSize p(roiview->refimage->size());
p.scale(roiview->view->size(), Qt::KeepAspectRatio);
roiview->view->resize(p);
}
и в конструкторе:
roiview = new roiwindow;
roiview->view->setViewportUpdateMode(QGraphicsView::FullViewportUpdate);
roiview->view->setCursor(Qt::CrossCursor);
roiview->view->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
roiview->view->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
QHBoxLayout *layoutContainer = new QHBoxLayout;
layoutContainer->addWidget(roiview->view);
setLayout(layoutContainer);
Я искал Google и ничего не мог найти. Также задал аналогичный вопрос некоторое время назад, но из ответов видно, что я недостаточно четко задал вопрос. Спасибо.