Можно попробовать следующий прием.
Не добавлять миникарту на сцену, а использовать для ее отображения другой виждет.
Здесь в качестве миникарты используется QLabel, а вместо него может быть любой другой виджет.
C++ (Qt)
#include <QApplication>
#include <QWidget>
#include <QGraphicsView>
#include <QLabel>
#include <QVBoxLayout>
#include <QResizeEvent>
#include <QDebug>
class Viewer : public QWidget
{
Q_OBJECT
public:
Viewer();
protected:
virtual void resizeEvent( QResizeEvent *event );
private:
QGraphicsView *m_view;
QLabel *m_map;
};
Viewer::Viewer()
: QWidget( 0 )
{
m_view = new QGraphicsView( this );
QVBoxLayout *layout = new QVBoxLayout( this );
layout->addWidget( m_view );
setLayout( layout );
m_map = new QLabel( "MiniMap", this );
m_map->setFixedSize( 64, 64 );
m_map->setFrameShape( QFrame::Panel );
}
void Viewer::resizeEvent( QResizeEvent *event )
{
Q_ASSERT( event );
QWidget::resizeEvent( event );
m_map->move( event->size().width() - (64 + 20), 20 );
}
int main( int argc, char *argv[] )
{
QApplication app( argc, argv );
Viewer v;
v.show();
return app.exec();
}
#include "main.moc"