def __init__(self, svgfile, component, nodes): #QGraphicsSvgItem.__init__(self,svgfile) QGraphicsObject.__init__(self) self.__svggraphic = QGraphicsSvgItem(svgfile) rect = self.__svggraphic.boundingRect() self.__nodeGraphics = [] self.__component = weakref.ref(component) # this signals the itemChange() method when this item is moved # used for refreshing the spaces between components self.setFlags(QGraphicsItem.ItemSendsGeometryChanges) self.nodedx = [] # stores the node square offsets item = QGraphicsTextItem(component.name, self) rect = item.boundingRect() item.setPos(-0.5 * rect.width(), 40 - 0.5 * rect.height()) self.setAcceptsHoverEvents(True) for n in nodes: self.nodedx.append([n[0], n[1]]) node = n[2].getQGraphicsItem(n[0], n[1], nsize, self) node.setPen(QPen(Qt.black)) node.refresh() self.__nodeGraphics.append(node) self.refresh() self.installEventFilter(self) self.setHandlesChildEvents(True)
def __init__(self, name, tileset, roundsFinished=0, parent = None): """generate new wind tile""" if not len(WINDPIXMAPS): WINDPIXMAPS[('E', False)] = None # avoid recursion self.genWINDPIXMAPS() QGraphicsEllipseItem.__init__(self) if parent: self.setParentItem(parent) self.name = name self.face = QGraphicsSvgItem() self.face.setParentItem(self) self.prevailing = None self.setWind(name, roundsFinished) self.tileset = tileset self.__sizeFace()
def __init__(self, dataDir="", parent=None): QWidget.__init__(self, parent) self.renderer = QSvgRenderer(dataDir + "poker.svg") self.scene = QGraphicsScene() self.chat = QGraphicsSimpleTextItem() self.table = QGraphicsSvgItem(dataDir + "poker.svg") self.table.setSharedRenderer(self.renderer) self.table.setElementId("table") self.table.setMatrix(self.renderer.matrixForElement("transform_table")) self.scene.addItem(self.chat) self.scene.addItem(self.table) self.board = [] for i in range(5): card = AnimatedGraphicsSvgItem(dataDir + "svg-cards.svg", self.table) card.setElementId("back") parent = self.renderer.matrixForElement("transform_table") child = self.renderer.matrixForElement("transform_card%i" % i) cardMatrix = child.translate(-parent.dx(), -parent.dy()) card.setMatrix(cardMatrix) #card.setFlag(QGraphicsSvgItem.ItemIsMovable, True) card.scale(0.5, 0.5) card.hide() self.scene.addItem(card) self.board.append(card) self.seats = [] self.names = [] self.moneys = [] self.bets = [] for i in range(10): seat = SeatItem() def seatClickedEvent(seat=i): seatClickedCallback = self.seatClicked seatClickedCallback(seat) seat.event = seatClickedEvent seat.setSharedRenderer(self.renderer) seat.setElementId("seat") seat.setMatrix( self.renderer.matrixForElement("transform_seat%i" % i)) self.scene.addItem(seat) self.seats.append(seat) name = QGraphicsSimpleTextItem(seat) name.setMatrix(self.renderer.matrixForElement("seat_name")) self.scene.addItem(name) self.names.append(name) money = QGraphicsSimpleTextItem(seat) money.setMatrix(self.renderer.matrixForElement("seat_money")) self.scene.addItem(money) self.moneys.append(money) bet = QGraphicsSimpleTextItem() bet.setMatrix(self.renderer.matrixForElement("transform_bet%i" % i)) self.scene.addItem(bet) self.bets.append(bet) self.pots = [] for i in range(9): pot = QGraphicsSimpleTextItem() pot.setMatrix(self.renderer.matrixForElement("transform_pot%i" % i)) self.scene.addItem(pot) self.pots.append(pot) self.view = QGraphicsView(self) self.view.setScene(self.scene) self.view.resize(800, 600) self.fold = ActionItem() self.fold.setText("fold") self.fold.setPos(0, 550) self.scene.addItem(self.fold) self.fold.event = lambda: self.foldClicked() self.check = ActionItem() self.check.setText("check") self.check.setPos(50, 550) self.scene.addItem(self.check) self.check.event = lambda: self.checkClicked() self.call = ActionItem() self.call.setText("call") self.call.setPos(100, 550) self.scene.addItem(self.call) self.call.event = lambda: self.callClicked() self.bet = ActionItem() self.bet.setText("bet") self.bet.setPos(150, 550) self.scene.addItem(self.bet) self.bet.event = lambda: self.betClicked()