2017-09-14 82 views
1

私は、マウスの位置データを決定するためにのみQtWidgets.QGraphicsViewを使用して、私は、バックグラウンドでペイントするPyQt5とPython 3.6PyQt5 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

使用 'setStyleSheet( "背景:透明")のために働く'または任意の同等はPyQtはのためにあるのですか? – rbaleksandar

+0

私はそれをチェックしてあります。できます。ありがとうございました! –

答えて

0

私はそれを試しました!

self.graphicsView.setStyleSheet("background:transparent;") 

これは私