我使用PyQt5和python 3.6
我只使用QtWidgets.QGraphicsView来确定鼠标位置数据,我想在后台绘画。
如何设置QtWidgets.QGraphicsView透明?
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Controller(QtWidgets.QMainWindow):
def __init__(self, setting):
super().__init__()
self.setGeometry(50, 150, 1610, 1207)
self.graphicsView = QtWidgets.QGraphicsView()
self.graphicsView.setMouseTracking(True)
self.graphicsView.viewport().installEventFilter(self)
self.graphicsView.setObjectName("graphicsView")
self.setCentralWidget(self.graphicsView)
def paintEvent(self, event):
painter = QtGui.QPainter(self)
#paint something
def eventFilter(self, source, event):
if event.type() == QtCore.QEvent.MouseMove:
if event.buttons() == QtCore.Qt.NoButton:
pos = event.pos()
print(str(pos.x())+' '+ str(pos.y()))
else:
pass # do other stuff
return QtGui.QWindow.eventFilter(self, source, event)
这只是一个示例类。
提前谢谢你。
答案 0 :(得分:0)
我试过了!
self.graphicsView.setStyleSheet("background:transparent;")
这对我有用
答案 1 :(得分:0)
就我而言,我必须指定背景色而不是背景。 所以:
self.graphicsView.setStyleSheet("background-color: transparent;")
我在C ++上使用Qt 5.14.1