Beispiel #1
0
    def __init__(self,
                 escena,
                 bloqueMarker,
                 rutinaPulsada=None,
                 siEditando=False):
        super(MarkerSC, self).__init__(escena, bloqueMarker)

        self.rutinaPulsada = rutinaPulsada
        self.rutinaPulsadaCarga = None

        self.distBordes = 0.20 * bloqueMarker.anchoCasilla

        self.pixmap = QtSvg.QSvgRenderer(
            QtCore.QByteArray(bloqueMarker.xml.encode("utf8")))

        self.posicion2xy()

        self.siMove = False
        self.tpSize = None

        self.siEditando = siEditando

        self.siRecuadro = False
        if siEditando:
            self.setAcceptHoverEvents(True)
def test_init(qtbot):
    svg = 'linuxnano/resources/icons/general/unknown.svg'
    renderer = QtSvg.QSvgRenderer()
    renderer.load(svg)

    wid = DeviceIconWidget(renderer)
    assert isinstance(wid, DeviceIconWidget)
Beispiel #3
0
    def pushButtonPulseshapeShow(self):
        if transmitter.pulseshapeShapeIndex == 1 and transmitter.pulseshapeNumberOfZeros is None:
            return

        sequenceLength = 20 # TODO replace with real sequence Length
        if transmitter.pulseshapeShapeIndex == 0:
            sequence = self.createRectSequence(sequenceLength)

        if transmitter.pulseshapeShapeIndex == 1:
            sequence = self.createSincSequence(sequenceLength, transmitter.pulseshapeNumberOfZeros)

        self.createPulseShapeImage(self, sequence, sequenceLength)

        renderer = QtSvg.QSvgRenderer()
        renderer.load(CONFIG.TEMPORARY_DIRECTORY_NAME + "pulseshape_plot.svg")
        size = renderer.defaultSize()

        item = QtSvg.QGraphicsSvgItem()
        item.setSharedRenderer(renderer)

        scene = QtWidgets.QGraphicsScene()
        scene.addItem(item)

        graphicsView = QtWidgets.QGraphicsView()
        graphicsView.setScene(scene)
        graphicsView.fitInView(item)
        graphicsView.isInteractive = True

        layout = QtWidgets.QGridLayout()
        layout.addWidget(graphicsView)

        dialog = QtWidgets.QDialog(self)
        dialog.setLayout(layout)
        dialog.setWindowTitle("Pulseshape")
        dialog.exec_()
Beispiel #4
0
    def paintEvent(self, event):  # pylint: disable=W0613
        xml = copy.deepcopy(self._svg)
        for pad in self.pads():
            xml.find('.//*[@id="%s"]' % self.indexToId(pad)
                     ).attrib['transform'] = 'translate(%f %f)' % (
                         self._values[pad].x(), self._values[pad].y())
        for btn in self.buttons():
            self._fillElement(xml.find('.//*[@id="%s"]' % self.indexToId(btn)),
                              (0xFF0000 if self._values[btn] else 0xcccccc),
                              recurse=btn
                              not in {self.INDEX_PS, self.INDEX_TPAD})

        img = QtGui.QImage(self._hit.width(), self._hit.height(),
                           QtGui.QImage.Format_RGB888)
        painter = QtGui.QPainter(img)
        painter.setBackground(QtCore.Qt.white)
        painter.eraseRect(self.rect())
        renderer = QtSvg.QSvgRenderer(ET.tostring(xml.getroot()))
        renderer.render(painter)

        painter = QtGui.QPainter(self)
        painter.drawImage(
            QtCore.QPoint((self.width() - self._hit.width()) // 2,
                          self.height() - self._hit.height()), img)

        if self._status:
            mt = painter.fontMetrics()
            rc = QtCore.QRectF(0,
                               self.height() - mt.height() - 1, self.width(),
                               mt.height())
            painter.drawText(rc, QtCore.Qt.AlignCenter, self._status)
Beispiel #5
0
    def __init__(self, content: str, parent: QWidget = None):
        """Creates a new SVG viewer with the given SVG content.

        :param content: the SVG content to show.
        :param parent: optional parent widget, defaults to None.
        """
        super().__init__(parent)

        self.setScene(QGraphicsScene(self))
        self.setTransformationAnchor(QGraphicsView.AnchorUnderMouse)
        self.setDragMode(QGraphicsView.ScrollHandDrag)
        self.setViewportUpdateMode(QGraphicsView.FullViewportUpdate)

        svg_renderer = QtSvg.QSvgRenderer(content.encode('utf-8'))
        svg_item = QtSvg.QGraphicsSvgItem()
        svg_item.setSharedRenderer(svg_renderer)
        svg_item.setFlags(QGraphicsItem.ItemClipsToShape)
        svg_item.setCacheMode(QGraphicsItem.NoCache)
        svg_item.setZValue(0)

        scene = self.scene()
        scene.clear()
        self.resetTransform()
        scene.addItem(svg_item)
        scene.setSceneRect(svg_item.boundingRect())
Beispiel #6
0
 def __init__(self, parent=None, path=None, layer=0):
     super(CustomButton, self).__init__(parent)
     if path is None:
         tpath = os.path.expanduser(INFO.MACRO_PATH)
         path = os.path.join(tpath, 'LatheMacro.svg')
     self.r = QtSvg.QSvgRenderer(path)
     self.basename = 'layer'
     self.setLayerNumber(layer)
Beispiel #7
0
 def _render(self, path):
     render = QtSvg.QSvgRenderer()
     render.load(path)
     img = QtGui.QPixmap(60, 60)
     img.fill(QtGui.QColor(255, 255, 255, 0))
     render.render(QtGui.QPainter(img))
     icon = QtGui.QIcon(img)
     return icon
    def _load_icon(self, path, bg_color=0x10808080):
        base_image = QtGui.QImage(24, 24, QtGui.QImage.Format_ARGB32)
        base_image.fill(bg_color)

        # create the icon pixmap:
        QtSvg.QSvgRenderer(path).render(QtGui.QPainter(base_image))
        pixmap = QtGui.QPixmap.fromImage(base_image)
        return pixmap
Beispiel #9
0
 def reset(self):
     self.posicion2xy()
     bm = self.bloqueDatos
     self.pixmap = QtSvg.QSvgRenderer(
         QtCore.QByteArray(bm.xml.encode("utf8")))
     self.setOpacity(bm.opacidad)
     self.setZValue(bm.posicion.orden)
     self.update()
Beispiel #10
0
    def __init__(self, *, node: music.BaseNode, **kwargs: Any) -> None:
        assert isinstance(node, model.ScoreTrack)
        self.__widget = None  # type: ScoreTrackWidget
        self.__track = node  # type: model.ScoreTrack

        super().__init__(
            node=node,
            icon=QtSvg.QSvgRenderer(os.path.join(DATA_DIR, 'icons', 'track-type-score.svg')),
            **kwargs)
 def render_svg(self, svg, size):
     renderer = QtSvg.QSvgRenderer(bytes(svg, 'utf-8'))
     qim = QtGui.QImage(size, QtGui.QImage.Format_ARGB32)
     qim.fill(0)
     painter = QtGui.QPainter()
     painter.begin(qim)
     renderer.render(painter)
     painter.end()
     return qim
Beispiel #12
0
 def getImage(self, file, width=0, height=0, color=None, scale=1.0, size=0):
     if os.path.splitext(file)[1] == '.svg':
         try:
             renderer = self._svgRendererMap[file]
         except:
             renderer = QtSvg.QSvgRenderer(os.path.join(
                 self.basepath, file))
             if renderer.isValid():
                 self._svgRendererMap[file] = renderer
             else:
                 self._logger.error('Could not load image file "' + file +
                                    '".')
                 return QtGui.QImage()
         return ImageFactory.createImageFromSvg(renderer, width, height,
                                                color, scale, size)
     else:
         try:
             image = self._imageMap[file]
         except:
             image = QtGui.QImage(os.path.join(self.basepath, file))
             if image.format() == QtGui.QImage.Format_Invalid:
                 self._logger.error('Could not load image file "' + file +
                                    '".')
                 return QtGui.QImage()
             self._imageMap[file] = image
         noScale = False
         if width <= 0 or height <= 0:
             owidth = image.width()
             oheight = image.height()
             if width <= 0 and height <= 0:
                 if size > 0:
                     if owidth == oheight:
                         witdth = size
                         height = size
                     elif owidth > oheight:
                         height = oheight / owidth * size
                         width = size
                     else:
                         height = size
                         width = owidth / oheight * size
                 elif scale == 1.0:
                     noScale = True
                 else:
                     width = int(owidth * scale)
                     height = int(oheight * scale)
             elif height <= 0:
                 height = int(width * float(oheight) / float(owidth))
             elif width <= 0:
                 width = int(height * float(owidth) / float(oheight))
         if noScale:
             outimage = QtGui.QImage(image)
         else:
             outimage = image.scaled(width, height)
         if color and outimage:
             self.colorizeImage(outimage, color)
         return outimage
Beispiel #13
0
 def _add_item(self, name, text, number, svg=None):
     item = QtWidgets.QListWidgetItem(text)
     icon = QtGui.QIcon()
     filename = get_filename('pics/{}.svg'.format(name))
     icon.addFile(filename)
     item.setIcon(icon)
     self.palette.addItem(item)
     svg = svg or QtSvg.QSvgRenderer(filename)
     self.grid.pics[number] = svg
     item.setData(KIND_ROLE, number)
 def svg2pixmap(self, img, size):
     render = QtSvg.QSvgRenderer(img)
     image = QtGui.QImage(size.width(), size.height(),
                          QtGui.QImage.Format_ARGB32)
     painter = QtGui.QPainter(image)
     painter.setCompositionMode(QtGui.QPainter.CompositionMode_SourceOver)
     image.fill(Qt.Qt.transparent)
     render.render(painter)
     img = QtGui.QPixmap.fromImage(image)
     del painter
     return img
Beispiel #15
0
 def __init__(self, interface: Interfaces_module.Interfaces, skaner: Scanner_module.Scanner):
     super(Mapa, self).__init__()
     # logika
     self.items = []
     self.skaner = skaner
     self.connected_interface = interface
     # qt
     self.image = QtGui.QImage()
     self.ui = QtWidgets.QWidget()
     self.pc_renderer = QtSvg.QSvgRenderer("pc_svgs.svg")
     self.painter = QtGui.QPainter(self.image)
     self.pen = QtGui.QPen()
Beispiel #16
0
    def setIcon(self, imagePath, size=None):
        svg = QtSvg.QSvgRenderer(imagePath)
        qim = QtGui.QImage(48, 48, QtGui.QImage.Format_ARGB32)
        qim.fill(0)
        painter = QtGui.QPainter()

        painter.begin(qim)
        svg.render(painter)
        painter.end()

        pixmap = QtGui.QPixmap(qim)
        self.iconQLabel.setPixmap(pixmap)
Beispiel #17
0
    def __init__(self, *, icon_name: str, hotspot: Tuple[int, int],
                 **kwargs: Any) -> None:
        super().__init__(**kwargs)

        self.__icon_name = icon_name

        pixmap = QtGui.QPixmap(64, 64)
        pixmap.fill(Qt.transparent)
        painter = QtGui.QPainter(pixmap)
        renderer = QtSvg.QSvgRenderer(self.iconPath())
        renderer.render(painter, QtCore.QRectF(0, 0, 64, 64))
        painter.end()
        self.__cursor = QtGui.QCursor(pixmap, *hotspot)
Beispiel #18
0
def renderSvg(fileOrRenderer, name, width, height, background=Qt.transparent):
    """Load the object with the given name from *file* and render it into a pixmap of the given
    dimensions. Return that pixmap."""
    if isinstance(fileOrRenderer, str):
        renderer = QtSvg.QSvgRenderer(fileOrRenderer)
    else:
        renderer = fileOrRenderer
    pixmap = QtGui.QPixmap(width, height)
    pixmap.fill(background)
    painter = QtGui.QPainter(pixmap)
    renderer.render(painter, name)
    painter.end()
    return pixmap
Beispiel #19
0
    def _svgImage(self, *, width: _tp.Optional[int],
                  height: _tp.Optional[int]) -> _qtg.QImage:
        imageBytes = self._loadBytes()
        svgRenderer = _qsvg.QSvgRenderer(imageBytes)

        defaultSize = svgRenderer.defaultSize()
        size = self._getSize(defaultSize, width=width, height=height)

        image = _qtg.QImage(size, _qtg.QImage.Format_ARGB32_Premultiplied)
        image.fill(_qtc.Qt.transparent)
        painter = _qtg.QPainter(image)
        svgRenderer.render(painter)

        return image
Beispiel #20
0
    def update_nlp_graphics(self):
        """Updates the current graph.

        This takes into account all changes to the filter, NLP instance and
        drawing parameters.
        """
        # print('NLPCanvas#updateNLPGraphics')
        scene = QtWidgets.QGraphicsScene()
        self.ui.graphicsView.setScene(scene)
        br = QtSvg.QGraphicsSvgItem()
        rr = QtSvg.QSvgRenderer(self.render_nlpgraphics())
        br.setSharedRenderer(rr)
        scene.addItem(br)
        self.ui.graphicsView.show()
Beispiel #21
0
 def icono(self, pieza, nombre):
     fich = os.path.join("Pieces", nombre, "%s%s.svg" % ("w" if pieza.isupper() else "b", pieza.lower()))
     f = codecs.open(fich, "r", 'utf-8', 'ignore')
     qb = QtCore.QByteArray(f.read().encode("utf-8"))
     f.close()
     pm = QtGui.QPixmap(32, 32)
     pm.fill(QtCore.Qt.transparent)
     render = QtSvg.QSvgRenderer(qb)
     painter = QtGui.QPainter()
     painter.begin(pm)
     render.render(painter)
     painter.end()
     icon = QtGui.QIcon(pm)
     return icon
Beispiel #22
0
def get_path_arrow(arrow):
    filenames = {
        b"<": "left.svg",
        b">": "right.svg",
        b"v": "down.svg",
        b"^": "up.svg"
    }
    filename = filenames.get(arrow)
    if filename:
        return QtSvg.QSvgRenderer(
            os.path.join(os.path.dirname(__file__), "pics", "arrows",
                         filename))
    else:
        return None
Beispiel #23
0
    def __init__(self, fileName, size=None, colormap=None):
        """
        Load an SVG resource file and replace colors according to
        provided dictionary `colormap`. Only fill and stroke is replaced.
        Also scales the pixmap if a QSize is provided.
        """
        data = self.loadAndMap(fileName, colormap)

        renderer = QtSvg.QSvgRenderer(data)
        size = renderer.defaultSize() if size is None else size
        super().__init__(size)
        self.fill(QtCore.Qt.transparent)
        painter = QtGui.QPainter(self)
        renderer.render(painter)
        painter.end()
Beispiel #24
0
 def saveAllPNG(self, nombre, px):
     for pieza in "pnbrqk":
         for color in "wb":
             fich = os.path.join("Pieces", nombre, "%s%s.svg" % (color, pieza))
             f = codecs.open(fich, "r", 'utf-8', 'ignore')
             qb = QtCore.QByteArray(f.read().encode("utf-8"))
             f.close()
             pm = QtGui.QPixmap(px, px)
             pm.fill(QtCore.Qt.transparent)
             render = QtSvg.QSvgRenderer(qb)
             painter = QtGui.QPainter()
             painter.begin(pm)
             render.render(painter)
             painter.end()
             pm.save("IntFiles/Figs/%s%s.png" % (color, pieza), "PNG")
Beispiel #25
0
def generaPM(piezas):
    dicPM["V"] = Iconos.pmComentario()
    dicPM["R"] = Iconos.pmApertura()
    dicPM["M"] = Iconos.pmComentarioMas()
    dicPM["S"] = Iconos.pmAperturaComentario()
    for k in "KQRNBkqrnb":
        dicPZ[k] = piezas.render(k)

    carpNAGs = "./IntFiles/NAGs"
    for f in os.listdir(carpNAGs):
        if f.endswith(".svg") and f.startswith("$") and len(f) > 5:
            nag = f[1:-4]
            if nag.isdigit():
                fsvg = carpNAGs + "/" + f
                dicNG[nag] = QtSvg.QSvgRenderer(fsvg)
Beispiel #26
0
    def updt_map_data(self, config_path, width, height):
        """Mise à jour des objets à dessiner sur la map

        Entrée:
            - config_path (str): le chemin du fichier svg de map
            - height (int): taille de la carte, en mm
            - width (int): taille de la carte, en mm
        """
        self.svg_scl = self.qt_is_compatible and self.parent.settings_dict[
            'Carte (Scaling)']
        self.map_width = width
        self.map_height = height

        self.svg_data = QtSvg.QSvgRenderer(config_path)
        if self.svg_scl:
            self.svg_data.setAspectRatioMode(Qt.KeepAspectRatio)
Beispiel #27
0
def initialise():
    for x in _pixmap_files:
        with importlib_resources.path(__name__, x) as res:
            with open(res, 'rb') as f:

                img = os.path.splitext(x)[0]
                pixmap = QtGui.QPixmap()
                pixmap.loadFromData(f.read())

                _pixmaps[img] = pixmap

    for x in _svg_files:
        with importlib_resources.path(__name__, x) as res:
            with open(res, 'rb') as f:
                img = os.path.splitext(x)[0]
                svg = QtSvg.QSvgRenderer(f.read())
                _svgs[img] = svg
Beispiel #28
0
    def __init__(self, symbol, parent=None):
        super().__init__(parent)

        self._symbol = symbol

        try:
            renderer, svg_symbol = self._cache[self._symbol]
        except KeyError:
            path = os.path.join(DATA_DIR, 'symbols', '%s.svg' % self._symbol)
            svg_symbol = SvgSymbol(path)
            renderer = QtSvg.QSvgRenderer(svg_symbol.get_xml())
            self._cache[self._symbol] = (renderer, svg_symbol)

        self.grp = QtWidgets.QGraphicsItemGroup(self)
        origin_x, origin_y = svg_symbol.get_origin()
        self.grp.setPos(-origin_x, -origin_y)

        self.body = QtSvg.QGraphicsSvgItem(self.grp)
        self.body.setSharedRenderer(renderer)
Beispiel #29
0
def init():
    from maestro.widgets import WidgetClass
    WidgetClass(
        id='playback', theClass=PlaybackWidget, name=translate('Playback', 'playback'),
        icon=utils.images.icon('media-playback-start'),
        areas='dock', preferredDockArea='left'
    ).register()

    for command in PlayCommand:
        PlayControlAction.register(
            context='playback', identifier=command.value, label=command.label(),
            shortcut=Qt.Key_Space if command is PlayCommand.PlayPause else None
        )

    global renderer, playIcon, pauseIcon
    renderer = QtSvg.QSvgRenderer(':maestro/playback.svg')
    playIcon = QtGui.QIcon(utils.images.renderSvg(
        renderer, "media_playback_start", ICON_SIZE, ICON_SIZE))
    pauseIcon = QtGui.QIcon(utils.images.renderSvg(
        renderer, "media_playback_pause", ICON_SIZE, ICON_SIZE))
Beispiel #30
0
    async def startProfile(self) -> None:
        self.setEnabled(False)
        self.setCursor(Qt.BusyCursor)

        if self.__item is not None:
            self.__scene.removeItem(self.__item)
            self.__item = None

        try:
            svg = await self.audioproc_client.profile_audio_thread(
                duration=self.__duration.value())

            renderer = QtSvg.QSvgRenderer()
            renderer.load(svg)

            self.__item = QtSvg.QGraphicsSvgItem()
            self.__item.setSharedRenderer(renderer)
            self.__scene.addItem(self.__item)

        finally:
            self.setEnabled(True)
            self.unsetCursor()