Ограничить изменение размера виджета - PullRequest
0 голосов
/ 08 января 2019

У меня есть Просмотрщик изображений с некоторыми элементами управления навигацией.

enter image description here

Итак, в 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());
}

Любые предложения приветствуются !!

С уважением,

Саянский

...