def __init__(self, game): self.game = game self.AnimationsTime = 0 self.InAnimation = 0 self.MenuState = 0 self.AusSpiel = 0 # Scale self.MenuBackground = None self.logo = None; self.name = None; self.halbe = None; self.volle = None self.ball = [None]*16 self.GameStar = None; self.SchildArray = [None]*300; self.TextitemArray = [None]*1000; self.dummyTextfeld = TextItem(self.game); self.TDL = 0 self.TTA = 0 self.SchildAnzahl = 0 self.TextfeldAnzahl = 0 self.E_BallTextureSize = 0 self.E_AnzeigeTexturgroesse = 0 self.E_TableTextureSize = 0 self.E_BallGeometry = 0 self.E_MouseSpeed = .0 self.E_InvertX = 0 self.E_InvertY = 0 self.MenuGesperrt = 0 self.E_Reflections = 0 self.E_ColorDepth = 0 self.E_ScreenResolutions = 0 self.Quality = 0 self.E_Shadows = 0 self.E_AmbientesLicht = 0 self.E_TableLampes = 0 self.E_GreenLampe = 0 self.E_ShowFPS = 0 self.E_TexMMM = 0
def drawText(self, txt): self.txtItm = TextItem(self, self.font) self.txtItm.setText(txt) self.txtItm.setRotation(self.textAngle) self.txtItm.adjustSize() if self.textAngle is not None: self.txtItm.setPos( QPointF((self.rect().width() - self.txtItm.boundingRect().height()) / 2, self.rect().height()) ) else: self.txtItm.setPos( QPointF( (self.rect().width() - self.txtItm.boundingRect().width()) / 2, self.rect().height() - self.txtItm.boundingRect().height(), ) )
def readItemFromStream(self, stream, offset=0): type = "" position = QPointF() matrix = QTransform() rotateangle=0#add by yangrongdong type=stream.readQString() stream >> position >> matrix if offset: position += QPointF(offset, offset) if type == "文字2": text = "" font = QFont() text=stream.readQString() stream >> font item=TextItem(text, position, self.scene, font, matrix) elif type == "矩形2": rect = QRectF() stream >> rect style = Qt.PenStyle(stream.readInt16()) brush = stream.readInt16() item=BoxItem(position, self.scene, style, brush, rect, matrix) elif type == "矩形": rect = QRectF() stream >> rect style = Qt.PenStyle(stream.readInt16()) brush = stream.readInt16() item=BoxItem(position, self.scene, style, brush, rect, matrix) elif type == "图片": pixmap = QPixmap() stream >> pixmap item = GraphicsPixmapItem(self.scene, pixmap, position, matrix) item.CompMode = stream.readInt16() if type in ('文字2','矩形','矩形2','图片'): sc = stream.readFloat() rotateangle = stream.readFloat() item_Zvalue = stream.readInt16() item_order = stream.readInt16() item_desc = stream.readQString() item.setRotation(rotateangle) item.setScale(sc) #QMessageBox.warning(self, "read"+type, "ItemDesciption: "+item_desc) item.setZValue(item_Zvalue) item.setData(self.view.ItemId,item_order) item.setData(self.view.ItemDesciption, item_desc)
class HeaderItem(RectItem): def __init__(self, parent, scene, rect, pos, font, profileColumn, textAngle): RectItem.__init__(self, parent, scene, rect, pos) self.font = font self.profileColumn = profileColumn self.textAngle = textAngle self.setPen(QPen(Qt.black)) def drawText(self, txt): self.txtItm = TextItem(self, self.font) self.txtItm.setText(txt) self.txtItm.setRotation(self.textAngle) self.txtItm.adjustSize() if self.textAngle is not None: self.txtItm.setPos( QPointF((self.rect().width() - self.txtItm.boundingRect().height()) / 2, self.rect().height()) ) else: self.txtItm.setPos( QPointF( (self.rect().width() - self.txtItm.boundingRect().width()) / 2, self.rect().height() - self.txtItm.boundingRect().height(), ) )