Exemple #1
0
    def __init__(self, scene, x, y, w, h):

        self.w = w
        self.h = h

        super(LabelItem, self).__init__(scene, x, y)

        self.message = None
        self.temp_msgs = []

        rospack = rospkg.RosPack()
        self.icons_path = rospack.get_path('art_projected_gui') + '/icons/'

        self.icons = {}
        self.icons[NotifyUserRequest.INFO] = QtSvg.QGraphicsSvgItem(
            self.icons_path + 'Antu_dialog-information.svg', self)
        self.icons[NotifyUserRequest.WARN] = QtSvg.QGraphicsSvgItem(
            self.icons_path + 'Antu_dialog-warning.svg', self)
        self.icons[NotifyUserRequest.ERROR] = QtSvg.QGraphicsSvgItem(
            self.icons_path + 'Antu_emblem-important.svg', self)
        self.icons[NotifyUserRequest.YES_NO_QUESTION] = QtSvg.QGraphicsSvgItem(
            self.icons_path + 'Antu_dialog-question.svg', self)

        s = self.m2pix(self.h)
        for k, v in self.icons.iteritems():

            v.setScale(s / v.boundingRect().height())
            v.setPos(0, 0)
            v.setVisible(False)

        self.timer = rospy.Timer(rospy.Duration(0.5), self.timer_cb)
        self.setCacheMode(QtGui.QGraphicsItem.ItemCoordinateCache)
        self.setZValue(200)
Exemple #2
0
def show_tree(t, layout=None, tree_style=None):
    """ Interactively shows a tree."""
    scene, img = init_scene(t, layout, tree_style)
    tree_item, n2i, n2f = render(t, img)
    scene.init_data(t, img, n2i, n2f)

    tree_item.setParentItem(scene.master_item)
    scene.addItem(scene.master_item)

    size = tree_item.rect()
    w, h = size.width(), size.height()

    svg = QtSvg.QSvgGenerator()
    svg.setFileName("test.svg")
    svg.setSize(QtCore.QSize(w, h))
    svg.setViewBox(size)

    pp = QtGui.QPainter()
    pp.begin(svg)
    #pp.setRenderHint(QtGui.QPainter.Antialiasing)
    #pp.setRenderHint(QtGui.QPainter.TextAntialiasing)
    #pp.setRenderHint(QtGui.QPainter.SmoothPixmapTransform)
    scene.render(pp, tree_item.rect(), tree_item.rect(),
                 QtCore.Qt.KeepAspectRatio)
    pp.end()

    img = QtSvg.QGraphicsSvgItem("test.svg")
    #img.setParentItem(scene.master_item)
    #scene.removeItem(tree_item)
    #tree_item.setVisible(False)

    mainapp = _GUI(scene)
    mainapp.show()
    _QApp.exec_()
Exemple #3
0
 def __init__(self, parent=None):
     super(ValveButton, self).__init__(parent)
     self.setCheckable(True)
     self.setAttribute(Qt.WA_NoSystemBackground)
     self._rendererOn = QtSvg.QSvgRenderer(self)
     self._rendererOff = QtSvg.QSvgRenderer(self)
     self._rendererOn.load(":/img/valve_green.svg")
     self._rendererOff.load(":/img/valve_red.svg")
 def infr_flag(self, time, rule):
     # To align the flag's pointer correctly, subtract 25 from the
     # desired minute
     xform = QtGui.QTransform()
     if rule == "hgv":
         flag = QtSvg.QGraphicsSvgItem('./icons/drive_infr.svg')
         flag.setTransform(xform.translate((time - 25), -20))
     else:
         flag = QtSvg.QGraphicsSvgItem('./icons/wtd_infr.svg')
         flag.setTransform(xform.translate((time - 25), 45))
     self.addItem(flag)
     self.flag_list.append(flag)
Exemple #5
0
    def on_applyButton_clicked(self):
        """ Apply settings for a node
        """

        current = self.treeWidgetSymbols.currentItem()
        if current:
            name = current.text(0)
            normal_renderer = QtSvg.QSvgRenderer(':/symbols/' + name +
                                                 '.normal.svg')
            select_renderer = QtSvg.QSvgRenderer(':/symbols/' + name +
                                                 '.selected.svg')
            for item in self.items:
                item.setRenderers(normal_renderer, select_renderer)
                item.default_symbol = False
                item.type = name
Exemple #6
0
    def initItems(self):
        darkGray = QtGui.QColor(64, 64, 64)
        boundingRect = QRectF(0, 0, 10, 10)
        self.graphicsView.setBackgroundBrush(QtGui.QBrush(Qt.darkGray))
        scene = self.graphicsView.scene()
        scene.clearSelection(
        )  #scene.clear()!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

        self.svgItem = QtSvg.QGraphicsSvgItem()
        self.svgItem.setFlags(QtGui.QGraphicsItem.ItemClipsToShape)
        #        self.svgItem.setCacheMode(QtGui.QGraphicsItem.NoCache)
        self.svgItem.setZValue(0)

        self.shadowItem = QtGui.QGraphicsRectItem(
            boundingRect.adjusted(-1, -1, 2, 2))
        self.shadowItem.setBrush(QtGui.QBrush(darkGray))
        self.shadowItem.setPen(QtGui.QPen(darkGray))
        self.shadowItem.setZValue(-2)
        self.shadowItem.setPos(4, 4)

        self.frameItem = QtGui.QGraphicsRectItem(
            boundingRect.adjusted(-1, -1, 2, 2))
        self.frameItem.setBrush(QtGui.QBrush(Qt.white))
        self.frameItem.setPen(QtGui.QPen(darkGray))
        self.frameItem.setZValue(-1)
        self.frameItem.setPos(-1, -1)

        scene.addItem(self.shadowItem)
        scene.addItem(self.frameItem)
        scene.addItem(self.svgItem)
        scene.setSceneRect(boundingRect.adjusted(-3, -3, 10, 10))
Exemple #7
0
    def __init__(self, procesador):

        route = self.route = Routes.Transsiberian(procesador.configuracion)

        titulo = "%s (%d)" % (_("Transsiberian Railway"), route.level)
        icono = Iconos.Train()
        extparam = "transsiberian"
        QTVarios.WDialogo.__init__(self, procesador.pantalla, titulo, icono,
                                   extparam)

        self.procesador = procesador
        wsvg = QtSvg.QSvgWidget()
        x = self.route.get_txt().encode("utf-8")
        wsvg.load(QtCore.QByteArray(x))
        wsvg.setFixedSize(762, 762.0 * 658.0 / 1148.0)
        lySVG = Colocacion.H().relleno(1).control(wsvg).relleno(1)

        # Title
        lbTit = self.LINE(_("Moscow"), _("Vladivostok"), 14, 500).altoFijo(26)
        lbKM = self.KM(route.total_km, 12, 500).altoFijo(26)
        self.set_style("White", "#33322C", lbTit, lbKM)
        lbKMdone = self.KM(route.km, 12, 500).altoFijo(26)
        self.set_border(lbKMdone)
        lyTitle = Colocacion.H().control(lbTit).control(lbKM).control(lbKMdone)

        if route.is_ended():
            self.init_ended(route, lyTitle, lySVG)
        else:
            self.init_working(route, lyTitle, lySVG)

        self.recuperarVideo(siTam=False)
Exemple #8
0
    def SaveFile(self):
        dlg = QtGui.QFileDialog.getSaveFileName
        filename = dlg(self, "Save", '',
                       "svg file ( *.svg ) ;; image file ( *.png )")

        if filename:
            filename = unicode(filename)

            if filename.endswith('.svg'):
                fh = open(filename, 'wb')
                self.svg.write(fh)
                fh.close()
            else:
                fh = io.BytesIO()
                self.svg.write(fh)
                content = QtCore.QByteArray(fh.getvalue())

                image = QtGui.QImage(self.width, self.height,
                                     QtGui.QImage.Format_ARGB32_Premultiplied)

                painter = QtGui.QPainter(image)
                painter.setViewport(0, 0, self.width, self.height)
                painter.eraseRect(0, 0, self.width, self.height)
                render = QtSvg.QSvgRenderer(content)
                render.render(painter)
                painter.end()

                image.save(filename)
 def reset(self):
     self.posicion2xy()
     bm = self.bloqueDatos
     self.pixmap = QtSvg.QSvgRenderer(QtCore.QByteArray(bm.xml))
     self.setOpacity(bm.opacidad)
     self.setZValue(bm.posicion.orden)
     self.update()
Exemple #10
0
    def __init__(self, rads=0, parent=None):
        QtGui.QWidget.__init__(self, parent)

        self.checkerboard = array([[0, 255, 255, 255], [255, 0, 255, 255],
                                   [0, 255, 0, 255], [255, 0, 255, 0],
                                   [0, 255, 0, 255], [255, 0, 255, 255],
                                   [0, 255, 255, 255]])

        im = Image.fromarray(self.checkerboard)
        im.save('arrow.png')

        self.scene = QtGui.QGraphicsScene()
        self.head = QtSvg.QGraphicsSvgItem("checkered_arrow_3_op.svg")
        trans = QtGui.QTransform()
        trans.translate(-self.head.boundingRect().width() / 2,
                        -self.head.boundingRect().height() / 2)
        self.head.setTransform(trans)

        self.type = 0
        self.size = 170
        self.color = None
        self.frequency = 10
        self.rads = rads
        self.timer = QtCore.QTimer()
        self.pixmap = None
        self.pixmap_black = None
        self.pixmap_green = None
        self.point = QPointF(0.0, 0.0)

        QtCore.QObject.connect(self.timer, QtCore.SIGNAL("timeout()"),
                               self.changeColor)
Exemple #11
0
    def __init__(self, parent=None):
        super(SourceWidget, self).__init__(parent)

        self.mimeData = None

        imageFile = QtCore.QFile(':/images/example.svg')
        imageFile.open(QtCore.QIODevice.ReadOnly)
        self.imageData = imageFile.readAll()
        imageFile.close()

        imageArea = QtGui.QScrollArea()
        self.imageLabel = QtSvg.QSvgWidget()
        self.imageLabel.renderer().load(self.imageData)
        imageArea.setWidget(self.imageLabel)

        instructTopLabel = QtGui.QLabel("This is an SVG drawing:")
        instructBottomLabel = QtGui.QLabel("Drag the icon to copy the drawing as a PNG file:")
        dragIcon = QtGui.QPushButton("Export")
        dragIcon.setIcon(QtGui.QIcon(':/images/drag.png'))
        dragIcon.pressed.connect(self.startDrag)

        layout = QtGui.QGridLayout()
        layout.addWidget(instructTopLabel, 0, 0, 1, 2)
        layout.addWidget(imageArea, 1, 0, 2, 2)
        layout.addWidget(instructBottomLabel, 3, 0)
        layout.addWidget(dragIcon, 3, 1)
        self.setLayout(layout)
        self.setWindowTitle("Delayed Encoding")
Exemple #12
0
    def __init__(self, wowner, configuracion, recno):
        expedition = Everest.Expedition(configuracion, recno)
        self.li_routes, self.current, svg, rotulo = expedition.gen_routes()

        titulo = _("Everest")
        icono = Iconos.Trekking()
        extparam = "expedition"
        QTVarios.WDialogo.__init__(self, wowner, titulo, icono, extparam)

        self.selected = False

        wsvg = QtSvg.QSvgWidget()
        wsvg.load(QtCore.QByteArray(svg))
        wsvg.setFixedSize(762, 762.0 * 520.0 / 1172.0)
        lySVG = Colocacion.H().relleno(1).control(wsvg).relleno(1)

        liAcciones = (
            (_("Climb"), Iconos.Empezar(), self.climb),
            None,
            (_("Close"), Iconos.MainMenu(), self.cancel),
            None,
        )
        tb = Controles.TBrutina(self, liAcciones).vertical()
        if self.current is None:
            tb.setAccionVisible(self.climb, False)

        lyRot = Colocacion.H()
        for elem in rotulo:
            lb_rotulo = Controles.LB(self, elem).alinCentrado()
            lb_rotulo.setStyleSheet(
                "QWidget { border-style: groove; border-width: 2px; border-color: LightSlateGray ;}"
            )
            lb_rotulo.ponTipoLetra(puntos=12, peso=700)
            lyRot.control(lb_rotulo)

        oColumnas = Columnas.ListaColumnas()
        oColumnas.nueva("ROUTE", _("Route"), 240, siCentrado=True)
        oColumnas.nueva("GAMES", _("Games"), 80, siCentrado=True)
        oColumnas.nueva("DONE", _("Done"), 80, siCentrado=True)
        oColumnas.nueva("TIME", _("Time"), 80, siCentrado=True)
        oColumnas.nueva("MTIME", _("Average time"), 80, siCentrado=True)
        oColumnas.nueva("MPOINTS", _("Av. lost points"), 80, siCentrado=True)
        oColumnas.nueva("TRIES", _("Max tries"), 80, siCentrado=True)
        oColumnas.nueva("TOLERANCE", _("Tolerance"), 80, siCentrado=True)
        grid = Grid.Grid(self,
                         oColumnas,
                         siSelecFilas=True,
                         siSeleccionMultiple=False)
        grid.setMinimumWidth(grid.anchoColumnas() + 20)
        grid.coloresAlternados()

        lyG = Colocacion.V().otro(lyRot).control(grid)

        lyR = Colocacion.H().control(tb).otro(lyG)

        ly = Colocacion.V().otro(lySVG).otro(lyR)

        self.setLayout(ly)

        self.recuperarVideo(siTam=True, anchoDefecto=784, altoDefecto=670)
Exemple #13
0
    def __init__(self, scene, x, y, w, h, fn, fixed=False):

        self.img = None
        self.w = 0
        self.h = 0

        super(IconItem, self).__init__(scene, x, y)

        self.icon = QtSvg.QGraphicsSvgItem(fn, self)

        self.setCacheMode(QtGui.QGraphicsItem.ItemCoordinateCache)
        self.setZValue(100)

        self.fixed = fixed
        self.setFlag(QtGui.QGraphicsItem.ItemIsMovable, True)
        self.setFlag(QtGui.QGraphicsItem.ItemIsSelectable, True)

        self.w = self.m2pix(w)
        self.h = self.m2pix(h)

        self.icon.setScale(
            min(
                self.boundingRect().height() /
                self.icon.boundingRect().height(),
                self.boundingRect().width() /
                self.icon.boundingRect().width()))
Exemple #14
0
    def __init__(self, parent=None):
        super(self.__class__, self).__init__(parent)
        self.setupUi(self)

        self.graphicsViewBoard = myqgraph.ItaloGraphicsView(self.centralwidget)
        self.add_board_to_ui()

        self.start_in = None
        self.finish_in = None

        self.engine = chess.uci.popen_engine("models/stockfish-8-linux/Linux/stockfish_8_x64")
        self.engine.uci()

        self.board = chess.Board()
        self.board_svg = chess.svg.board(self.board)
        self.scene = QGraphicsScene(self.graphicsViewBoard)
        self.graphicsViewBoard.setScene(self.scene)
        self.item = QtSvg.QGraphicsSvgItem('tmp.svg')

        self.btn_connections()

        self.command = None

        self.btn_computer_move.setVisible(False)
        self.do_iniciar()
Exemple #15
0
def svg2jpg(svgString):
    svgMatch = re.match(
        '.*viewBox.*viewBox=\"[ \t]*([0-9]+\.?[0-9]*)[ \t]+([0-9]+\.?[0-9]*)[ \t]+([0-9]+\.?[0-9]*)[ \t]+([0-9]+\.?[0-9]*)[ \t]*\".*$',
        svgString, re.DOTALL)
    if svgMatch:
        svgWidth = float(svgMatch.group(3))
        svgHeight = float(svgMatch.group(4))
    else:
        print 'makeSvgs: no match for width/height.'
        exit()

    #svgWidth = 200
    #svgHeight = 166
    #svgWidth = 100
    #svgHeight = 83

    #rect = QtCore.QRect(0,0,svgWidth,svgHeight)

    svgSize = QtCore.QSize(svgWidth, svgHeight)
    myXmlStreamReader = QtCore.QXmlStreamReader(svgString)
    myRenderer = QtSvg.QSvgRenderer(myXmlStreamReader)

    myImage = QtGui.QImage(svgSize, QtGui.QImage.Format_ARGB32)
    myTempPainter = QtGui.QPainter(myImage)
    myTempPainter.fillRect(myImage.rect(), QtCore.Qt.white)
    myRenderer.render(myTempPainter)
    myTempPainter.end()

    buf = QtCore.QBuffer()
    buf.open(QtCore.QIODevice.ReadWrite)
    myImage.save(buf, "JPG")

    buf.seek(0)
    jpg = buf.readAll()
    return jpg
Exemple #16
0
 def svgdraw(self):  # instance
     scene = QtGui.QGraphicsScene()
     self.ui.graphicsView.setScene(scene)
     br = QtSvg.QGraphicsSvgItem("/Users/Regina/Desktop/tmp1.svg")
     # text = QtSvg.QGraphicsSvgItem("/Users/Regina/Documents/Pázmány/Onallo_labor/Project/Python/What'sWrong_SVG/szoveg.svg")
     scene.addItem(br)
     self.ui.graphicsView.show()
Exemple #17
0
    def openFileIMG(self, img_file):

        s = self.scene()

        if self.backgroundItem:
            drawBackground = self.backgroundItem.isVisible()
        else:
            drawBackground = True

        if self.outlineItem:
            drawOutline = self.outlineItem.isVisible()
        else:
            drawOutline = True

        if self.TraceImage:
            drawOutline = self.outlineItem.isVisible()
        else:
            drawOutline = True

        s.clear()
        img = QtGui.QPixmap(img_file)
        self.TraceImage = QtGui.QGraphicsPixmapItem(img)
        self.TraceImage.setFlags(QtGui.QGraphicsItem.ItemClipsToShape)
        self.TraceImage.setCacheMode(QtGui.QGraphicsItem.NoCache)
        self.TraceImage.setZValue(1)

        effect = QtGui.QGraphicsOpacityEffect(self)
        self.TraceImage.setGraphicsEffect(effect)
        self.setOpacity(self.opacity)
        self.TraceImage.setZValue(1)

        self.svgItem = QtSvg.QGraphicsSvgItem()
        self.svgItem.setFlags(QtGui.QGraphicsItem.ItemClipsToShape)
        self.svgItem.setCacheMode(QtGui.QGraphicsItem.NoCache)
        self.svgItem.setZValue(0)

        self.backgroundItem = QtGui.QGraphicsRectItem(
            self.TraceImage.boundingRect())
        self.backgroundItem.setBrush(QtCore.Qt.white)
        self.backgroundItem.setPen(QtGui.QPen(QtCore.Qt.NoPen))
        self.backgroundItem.setVisible(drawBackground)
        self.backgroundItem.setZValue(-1)

        self.outlineItem = QtGui.QGraphicsRectItem(
            self.TraceImage.boundingRect())
        outline = QtGui.QPen(QtCore.Qt.darkGray, 1.5, QtCore.Qt.SolidLine)
        outline.setCosmetic(True)
        self.outlineItem.setPen(outline)
        self.outlineItem.setBrush(QtGui.QBrush(QtCore.Qt.NoBrush))
        self.outlineItem.setVisible(drawOutline)
        self.outlineItem.setZValue(2)

        s.addItem(self.backgroundItem)
        s.addItem(self.svgItem)
        s.addItem(self.TraceImage)
        s.addItem(self.outlineItem)

        s.setSceneRect(self.outlineItem.boundingRect().adjusted(
            -10, -10, 10, 10))
    def __init__(self, parent):
        QtGui.QGraphicsView.__init__(self, parent)

        self.renderer = QtSvg.QSvgRenderer('electrodes.svg')
        # self.pixmap = QtGui.QPixmap(900,900)
        #        self.pixmap.fill(QtCore.Qt.transparent)
        self.scene = QtGui.QGraphicsScene()
        self.setScene(self.scene)
    def intrinsicSize(self, doc, posInDocument, format):
        renderer = QtSvg.QSvgRenderer(format.property(Window.SvgData))
        size = renderer.defaultSize()

        if size.height() > 25:
            size *= 25.0 / size.height()

        return QtCore.QSizeF(size)
Exemple #20
0
 def plotTree(self, tree, out_fn=None, rotation=270, show_leaf_name=False, 
               show_branch_length=False, circularTree=False, show_division_nodes=True, 
               distance_between_branches=4, show_border=False, width=None, height=None):            
     from ete2 import TreeStyle        
     from PyQt4 import QtSvg, QtCore, QtGui
     from ete2.treeview import qt4_render, drawer, main
     
       
     ts = TreeStyle()   
     ts.show_scale = False
     ts.show_border = show_border
     ts.orientation = 1 # 0, tree is drawn from left-to-right. 1, tree is drawn from right-to-left
     ts.rotation = rotation
     ts.show_leaf_name = show_leaf_name
     ts.show_branch_length = show_branch_length
     if circularTree:
         ts.mode = 'c'
     else:
         ts.mode = 'r'
     ts.branch_vertical_margin = distance_between_branches
     
     
     def hideInternalNodesLayout(node):
         if not node.is_leaf():
             node.img_style["size"] = 0
     
     if show_division_nodes is False:
         ts.layout_fn = hideInternalNodesLayout
     
     if out_fn is not None:        
         scene  = qt4_render._TreeScene()
         img = ts
         
         tree_item, n2i, n2f = qt4_render.render(tree, img)
         scene.init_data(tree, img, n2i, n2f)
         tree_item.setParentItem(scene.master_item)
         scene.master_item.setPos(0,0)
         scene.addItem(scene.master_item)      
         main.save(scene, out_fn, w=width, h=height, dpi=600)    
           
     else:
         scene, img = drawer.init_scene(tree, None, ts)
         tree_item, n2i, n2f = qt4_render.render(tree, img)
         scene.init_data(tree, img, n2i, n2f)
     
         tree_item.setParentItem(scene.master_item)
         scene.addItem(scene.master_item)
     
         size = tree_item.rect()
         w, h = size.width(), size.height()
     
         svg = QtSvg.QSvgGenerator()
         svg.setFileName("test.svg")
         svg.setSize(QtCore.QSize(w, h))
         svg.setViewBox(size)
         pp = QtGui.QPainter()
         pp.begin(svg)            
         scene.render(pp, tree_item.rect(), tree_item.rect(), QtCore.Qt.KeepAspectRatio)
Exemple #21
0
    def print_(self, docName, printer):
        size = self.getPageRectSizeF()
        if size:
            printer.setPaperSize(size, 0)

#        if size:
#            if printer.outputFileName():
#                printer.setPaperSize(size,0)
#            else:
#                w = size.width()
#                h = size.height()
#                if w < h:
#                    size.transpose()
#                    printer.setOrientation(QtGui.QPrinter.Landscape)
#                else:
#                    printer.setOrientation(QtGui.QPrinter.Portrait)
#                printer.setPaperSize(size,0)
#        else:
#            printer.setPaperSize(QtGui.QPrinter.A4)
#            printer.setOrientation(QtGui.QPrinter.Portrait)

        printer.setFullPage(True)
        printer.setPageMargins(0, 0, 0, 0, 0)
        printer.setCreator('vista-med')
        printer.setDocName(docName)
        printer.setFontEmbeddingEnabled(True)
        painter = QtGui.QPainter()

        renderer = QtSvg.QSvgRenderer()
        painter.begin(printer)
        #        if printer.orientation() == QtGui.QPrinter.Landscape:
        #            painterRect = painter.viewport()
        #            painter.translate(0, painterRect.height())
        #            painter.rotate(270)

        pageIdList = self.findPages()
        if pageIdList:
            fromPage = printer.fromPage()
            toPage = printer.fromPage()
            if fromPage and toPage:
                pageIdList = pageIdList[fromPage - 1:toPage]
            if printer.pageOrder == QtGui.QPrinter.LastPageFirst:
                pageIdList.reverse()
            firstPage = True
            for pageId in pageIdList:
                self.hideAllPagesExceptOne(pageId)
                renderer.load(self.toByteArray(0))
                if not firstPage:
                    printer.newPage()
                renderer.render(painter)
                firstPage = False
        else:
            renderer.load(self.toByteArray())
            renderer.render(painter)


#        del renderer
        painter.end()
Exemple #22
0
 def writeSvg(self, fileName=None):
     if fileName is None:
         fileName = str(QtGui.QFileDialog.getSaveFileName())
     self.svg = QtSvg.QSvgGenerator()
     self.svg.setFileName(fileName)
     self.svg.setSize(self.size())
     self.svg.setResolution(600)
     painter = QtGui.QPainter(self.svg)
     self.render(painter)
Exemple #23
0
def svg2pm(svg, tam):
    pm = QtGui.QPixmap(tam, tam)
    pm.fill(QtCore.Qt.transparent)
    qb = QtCore.QByteArray(svg)
    render = QtSvg.QSvgRenderer(qb)
    painter = QtGui.QPainter()
    painter.begin(pm)
    render.render(painter)
    painter.end()
    return pm
Exemple #24
0
    def __init__(self, view, data):
        QtSvg.QGraphicsSvgItem.__init__(self)
        # The renderer must be preserved for the lifetime of the image
        self.renderer = QtSvg.QSvgRenderer(QtCore.QByteArray(data))

        #print "IH", self.renderer.defaultSize().height()

        self.setSharedRenderer(self.renderer)
        view.gScene.addItem(self)
        self.uscale = 1.0
Exemple #25
0
    def draw_svg(self, painter):
        if not self.is_rightside:
            painter.scale(-1, 1)
            offset = 2 * self.rect.topLeft().x() + self.rect.width()
            painter.translate(-offset, 0)

        if self.svg:
            QtSvg.QSvgRenderer(self.svg).render(painter, self.rect_f)
        else:
            painter.setOpacity(self.opacity)
            self.svg_renderer.render(painter, self.rect_f)
Exemple #26
0
    def drawShape(self, painter, rect):
        """Draw image."""
        s = self.settings
        logging.debug('drawShape')
        # draw border and fill
        painter.drawRect(rect)

        # check to see whether image needs reloading
        image = None
        if s.embeddedDataset != s.dataset or s.embeddedTarget != s.target:
            self.actionEmbed()
            image = self.cacheimage

        # or needs recreating from embedded data
        elif s.embeddedImageData != '':
            if s.embeddedImageData is not self.cacheembeddata:
                self.updateCachedEmbedded()
                self.updateCachedImage()
            image = self.cacheimage

        # if no image, then use default image
        if (not image or image.isNull() or image.width() == 0
                or image.height() == 0):
            # empty image
            r = QtSvg.QSvgRenderer()

            r.render(painter, rect)

        else:
            # image rectangle
            irect = QtCore.QRectF(image.rect())

            # preserve aspect ratio
            if s.aspect:
                xr = rect.width() / irect.width()
                yr = rect.height() / irect.height()

                if xr > yr:
                    rect = QtCore.QRectF(
                        rect.left() +
                        (rect.width() - irect.width() * yr) * 0.5, rect.top(),
                        irect.width() * yr, rect.height())
                else:
                    rect = QtCore.QRectF(
                        rect.left(),
                        rect.top() +
                        (rect.height() - irect.height() * xr) * 0.5,
                        rect.width(),
                        irect.height() * xr)

            # finally draw image
            rect.setWidth(rect.width() - 1)
            rect.setLeft(rect.left() + 1)
            painter.drawImage(rect, image, irect)
Exemple #27
0
    def intrinsicSize(self, doc, posInDocument, format):
        renderer = QtSvg.QSvgRenderer(format.property(self.SvgData))
        view_box = renderer.viewBox()
        size = QtCore.QSize(view_box.width(), view_box.height())
        side = max(doc.pageSize().height(), doc.pageSize().width())

        ratio = side / max(size.width(), size.height())

        size *= ratio / (3 + 1e-9)

        return QtCore.QSizeF(size)
Exemple #28
0
    def __init__(self, parent=None):
        """ SVGCellWidget(parent: QWidget) -> SVGCellWidget
        Create a SVGCellWidget without any toolbar
        """
        QCellWidget.__init__(self, parent)
        self.setLayout(QtGui.QVBoxLayout(self))

        self.svgWidget = QtSvg.QSvgWidget()
        self.layout().addWidget(self.svgWidget)

        self.controlBarType = None
        self.fileSrc = None
Exemple #29
0
    def save_svg(self, fname):
        '''Write the QCA circuit to an svg file'''

        generator = QtSvg.QSvgGenerator()
        generator.setFileName(fname)
        generator.setSize(self.canvas.size())
        generator.setViewBox(self.canvas.rect())

        painter = QtGui.QPainter()
        painter.begin(generator)
        self.canvas.paint(painter)
        painter.end()
Exemple #30
0
    def __init__(self, robot, rend):
        self.pos = 15, 15
        self.ang = 0
        self.scale = 1
        self.cx, self.cy = 15, 15

        GraphicsItem.__init__(self)

        self.item = QtSvg.QGraphicsSvgItem(robot.item)
        self.item.setSharedRenderer(rend)
        self.item.setElementId('turret')
        self.set_transform()