Ограничить изменение размера виджета
У меня есть просмотрщик изображений с некоторыми элементами управления навигацией.
Итак, в 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());
}
Любые предложения приветствуются!
С Уважением,
Саянский