纯粹透明背景的QGraphicsView
使用Qt的QGraphicsView进行动态界面的绘制,透明效果,总是迟早会遇到的,使用setWindowOpacity么?那样只能让你的QGraphicsView子窗口全部变成透明的。
正常的QWidget,只要设置好父窗口,属性设置为FramelessWindowHint,不刷新背景,基本没有问题了。但是在QGraphicsView上这种方式,竟然是不成功的,百思不得其解。我使用以下方式完成这种效果:
setStyleSheet("background: transparent;border:0px");
setWindowFlags(Qt::FramelessWindowHint);
setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
如果你的QGraphicsView占满了整个屏幕,那么不需要设置border:0px,这完全没有意义;如果QGraphicsView只是占有屏幕的一部分,那么就必须设置了。