CoolFace
Apppublic

Aluode/PerceptionLabPortable

sourceHugging Faceupdated 9mo agoView on Hugging Face
0likes
GraphicsScene.py57 linesDownload Raw Back to examples
1import pyqtgraph as pg2from pyqtgraph.Qt import QtCore, QtWidgets3 4app = pg.mkQApp("GraphicsScene Example")5win = pg.GraphicsView()6win.show()7 8 9class Obj(QtWidgets.QGraphicsObject):10    def __init__(self):11        QtWidgets.QGraphicsObject.__init__(self)12        13    def paint(self, p, *args):14        p.setPen(pg.mkPen(200,200,200))15        p.drawRect(self.boundingRect())16        17    def boundingRect(self):18        return QtCore.QRectF(0, 0, 20, 20)19        20    def mouseClickEvent(self, ev):21        if ev.double():22            print("double click")23        else:24            print("click")25        ev.accept()26        27    #def mouseDragEvent(self, ev):28        #print "drag"29        #ev.accept()30        #self.setPos(self.pos() + ev.pos()-ev.lastPos())31        32        33 34vb = pg.ViewBox()35win.setCentralItem(vb)36 37obj = Obj()38vb.addItem(obj)39 40obj2 = Obj()41win.addItem(obj2)42 43def clicked():44    print("button click")45btn = QtWidgets.QPushButton("BTN")46btn.clicked.connect(clicked)47prox = QtWidgets.QGraphicsProxyWidget()48prox.setWidget(btn)49prox.setPos(100,0)50vb.addItem(prox)51 52g = pg.GridItem()53vb.addItem(g)54 55if __name__ == '__main__':56    pg.exec()57 
Aluode/PerceptionLabPortable · CoolFace