У меня есть Просмотрщик изображений с некоторыми элементами управления навигацией.
![enter image description here](https://i.stack.imgur.com/Sz1hM.jpg)
Итак, в QGraphicsView есть QGraphicsScene, где я устанавливаю изображение с помощью растрового изображения.
Исходя из ширины и высоты растровых изображений, я ограничил минимальный размер QGraphicsView, а также весь виджет.
Теперь, увеличив размер основного виджета, он должен позволить изменить размер, если соотношение ширины и высоты соответствует соотношению сторон изображения, и изображение будет масштабироваться.
Допустим, мое изображение 640: 480, поэтому соотношение составляет 1,3333. Теперь, когда я пытаюсь изменить размер моего ImageViewer, новый размер QGraphicsViewer должен иметь отношение 1.333, иначе ImageViewer не должен изменять размер.
Итак, я переопределил resizeEvent (событие QResizeEvent *) ImageViewer, но я не смог ограничить изменение размера только при действительных условиях.
Это resizeEvent (событие QResizeEvent *) вызывается всякий раз, когда я перетаскиваю углы.
Переопределение resizeEvent для ImageViewer.
double ratio = "1.3";
double windowRatio = (double) width() / height();
if(ratio == s)
{
QMdiSubWindow::resizeEvent(event);
}
else
{
resize(event->oldSize());
}
Любые предложения приветствуются !!
С уважением,
Саянский