def setupSceneItems(self): if Colors.showFps: self.fpsLabel = DemoTextItem("FPS: --", Colors.buttonFont(), QtCore.Qt.white, -1, self.scene, None, DemoTextItem.DYNAMIC_TEXT) self.fpsLabel.setZValue(1000) self.fpsLabel.setPos( Colors.stageStartX, 600 - QtGui.QFontMetricsF(Colors.buttonFont()).height() - 5) self.mainSceneRoot = QtGui.QGraphicsWidget() self.scene.addItem(self.mainSceneRoot) self.companyLogo = ImageItem( QtGui.QImage(':/images/trolltech-logo.png'), 1000, 1000, self.scene, None, True, 0.5) self.qtLogo = ImageItem(QtGui.QImage(':/images/qtlogo_small.png'), 1000, 1000, self.scene, None, True, 0.5) self.companyLogo.setZValue(100) self.qtLogo.setZValue(100) self.pausedLabel = DemoTextItem("PAUSED", Colors.buttonFont(), QtCore.Qt.white, -1, self.scene, None) self.pausedLabel.setZValue(100) fm = QtGui.QFontMetricsF(Colors.buttonFont()) self.pausedLabel.setPos(Colors.stageWidth - fm.width("PAUSED"), 590 - fm.height()) self.pausedLabel.setRecursiveVisible(False)
def addItems(self): itemCount = self.itemTable.rowCount() imageOffset = 150 leftMargin = 70 topMargin = 40 for i in range(itemCount): record = self.itemTable.record(i) id_ = record.value("id") file = record.value("file") item = record.value("itemtype") columnOffset = (i % 2) * 37 x = ((i % 2) * imageOffset) + leftMargin + columnOffset y = ((i / 2) * imageOffset) + topMargin image = ImageItem(id_, QPixmap(":/" + file)) image.setData(0, i) image.setPos(x, y) self.scene.addItem(image) label = self.scene.addText(item) label.setDefaultTextColor(QColor("#d7d6d5")) labelOffset = QPointF((120 - label.boundingRect().width()) / 2, 120.0) label.setPos(QPointF(x, y) + labelOffset)
def get(self, parent, files): """ return a list of items based on the files """ items = [] if config.IMAGE_EXCLUDE: exclude_string = re.compile('|'.join(config.IMAGE_EXCLUDE)) for file in util.find_matches(files, config.IMAGE_SUFFIX): if config.IMAGE_EXCLUDE: if not re.search(exclude_string, file): items.append(ImageItem(file, parent)) files.remove(file) else: items.append(ImageItem(file, parent)) files.remove(file) return items
def get(self, parent, files): """ return a list of items based on the files """ items = [] for file in util.find_matches(files, config.IMAGE_SUFFIX): items.append(ImageItem(file, parent)) files.remove(file) return items
def createContent(self): # Create the items. self.heading = HeadingItem(self.name, self.scene(), self) self.description = DemoTextItem(self.loadDescription(), Colors.contentFont(), Colors.heading, 500, self.scene(), self) imgHeight = 340 - int(self.description.boundingRect().height()) + 50 self.screenshot = ImageItem(QtGui.QImage.fromData(self._menu_manager.getImage(self.name)), 550, imgHeight, self.scene(), self) # Place the items on screen. self.heading.setPos(0, 3) self.description.setPos(0, self.heading.pos().y() + self.heading.boundingRect().height() + 10) self.screenshot.setPos(0, self.description.pos().y() + self.description.boundingRect().height() + 10)