我想根据qgraphicsview
的大小更改图像比例。
如果窗口已调整大小,我当前的代码会缩放图像,但如果窗口最大化则不会缩放。
bool EnlargedView::eventFilter(QObject *object, QEvent *event)
{
if (ui.graphicsView == object && (event->type() == QEvent::WindowStateChange || event->type() == QEvent::Resize)) {
scalePicture();
}
return QWidget::eventFilter(object, event);
}
我认为这是因为在单击最大化按钮时调用事件WindowStateChange
,而不是在窗口最大化之后(稍后发生)。
任何想法,如何在最大化后缩放图像?
答案 0 :(得分:1)
使用QWidget :: resizeEvent http://qt-project.org/doc/qt-4.8/qwidget.html#resizeEvent
在设置新几何体后调用它,这样您就可以使用正确的几何体来缩放。