Sure you can do something like
{
//draw background
painter.drawPixmap(...);
painter.drawPath(...)
...
if(layer1enabled)
{
painter.save();
painter.translate(...);
painter.setOpacity(0.5);
drawRects(...)
painter.restore();
}
if(layer2enabled)
{
painter.save();
painter.translate(...);
painter.drawText(...);
painter.restore();
...
}
}
void paintEvent(QPaintEvent*)
{
QPainter painter(this);
//draw background
painter.drawPixmap(...);
painter.drawPath(...)
...
if(layer1enabled)
{
painter.save();
painter.translate(...);
painter.setOpacity(0.5);
drawRects(...)
painter.restore();
}
if(layer2enabled)
{
painter.save();
painter.translate(...);
painter.drawText(...);
painter.restore();
...
}
}
To copy to clipboard, switch view to plain text mode
The solution won't be as elegant as using GV. You would have no help from the framework mapping click events and such, but it is definately possible.
On the other hand, QGraphicsItem also uses QPainter to draw, so porting your current code shouldn't be such a big problem.
Bookmarks