Ejemplo n.º 1
0
    def send_request_for_features(self):
        # prepare message in byte stream
        msg = QtCore.QByteArray()
        msg_stream = QtCore.QDataStream(msg, QtCore.QIODevice.WriteOnly)
        msg_stream.writeInt64(message_ids["MSG_ID_FEATURE_REQ"])

        try:
            if self.verbose:
                print("Send request for features message")
            # send the message over the socket
            self.socket.send(msg)
            # get ACK before return
            rcv = QtCore.QByteArray(self.socket.recv())
        except zmq.error.ZMQError:
            if self.verbose:
                print("ZMQ Error")
            return

        rcv_stream = QtCore.QDataStream(rcv, QtCore.QIODevice.ReadOnly)
        feats = []
        for i in range(3):
            feats.append(rcv_stream.readQStringList())

        r = rcv_stream.readInt64()
        if r == message_ids["MSG_ID_FEATURE_REQ_ACK"]:
            if self.verbose:
                print("Feature Request ACK")
        else:
            print("Feature Request failed!")

        if len([i for sublist in feats for i in sublist]) == 0:
            if self.verbose:
                print("Feature Request List Empty")
            feats = None
        return feats
Ejemplo n.º 2
0
    def send_end_of_transmission(self):
        """Send end of transmission packet"""
        # prepare message in byte stream
        msg = QtCore.QByteArray()
        msg_stream = QtCore.QDataStream(msg, QtCore.QIODevice.WriteOnly)
        msg_stream.writeInt64(message_ids["MSG_ID_EOT"])

        # reset state
        self.registered = False

        # print responses
        if self.verbose:
            print(self.response)
        try:
            if self.verbose:
                print("Sending EOT:", msg)
            # send the message over the socket
            self.socket.send(msg)
            # get ACK before return
            rcv_data = QtCore.QByteArray(self.socket.recv())
        except zmq.error.ZMQError:
            print("ZMQ Error - No ACK for EOT")
            return
        rcv_stream = QtCore.QDataStream(rcv_data, QtCore.QIODevice.ReadOnly)
        r = rcv_stream.readInt64()
        if r != message_ids["MSG_ID_EOT_ACK"]:
            print("Did not receive ACK for EOT but: ", r)
        else:
            if self.verbose:
                print("EOT success")
Ejemplo n.º 3
0
    def mouseMoveEvent(self, item):
        """Drag event"""

        shader = self.shader

        itemData = QtCore.QByteArray()
        dataStream = QtCore.QDataStream(itemData, QtCore.QIODevice.WriteOnly)
        dataStream << QtCore.QByteArray(str(shader))

        mimeData = QtCore.QMimeData()
        icon = QtGui.QIcon()

        if cmds.nodeType(shader) == 'displacementShader':
            mimeData.setData("application/x-displacement", itemData)
            icon.addFile(os.path.join(d, "../../../icons/sgblue.xpm"),
                         QtCore.QSize(25, 25))
        else:
            mimeData.setData("application/x-shader", itemData)
            icon.addFile(os.path.join(d, "../../../icons/sg.xpm"),
                         QtCore.QSize(25, 25))

        drag = QtGui.QDrag(self)
        drag.setMimeData(mimeData)
        drag.setPixmap(icon.pixmap(50, 50))
        drag.setHotSpot(QtCore.QPoint(0, 0))
        drag.start(QtCore.Qt.MoveAction)
Ejemplo n.º 4
0
 def _loadConfig(self):
     screenSize = QtGui.QGuiApplication.primaryScreen().size()
     windowSize = gg(screenSize) / 1.5
     diffSize = (screenSize - windowSize) / 2
     defaultGeometry = QtCore.QRect(QtCore.QPoint(diffSize.width(), diffSize.height()), windowSize)
     self.setGeometry(defaultGeometry)
     self._loadToolbars(self._config.toolbars)
     self.restoreGeometry(QtCore.QByteArray(gg(self._config.geometry)))
     self.restoreState(QtCore.QByteArray(gg(self._config.state)))
Ejemplo n.º 5
0
    def handle_messages(self):
        """Handle messages from Shape-In

        Please don't override this function. Use
        :func:`ShapeLinkPlugin.handle_event` for your customized plugins.
        """
        # read first byte
        if self._first_call:  # needed for accurate line_profiler tests
            try:
                # get message from socket
                message = self.socket.recv()
                rcv = QtCore.QByteArray(message)
            except zmq.error.ZMQError:
                if self.verbose:
                    print(" ZMQ Error - timed out")
                return
            self._first_call = False
        else:
            try:
                # get message from socket
                message = self.socket.recv()
                rcv = QtCore.QByteArray(message)
            except zmq.error.ZMQError:
                if self.verbose:
                    print(" ZMQ Error - timed out")
                return

        rcv_stream = QtCore.QDataStream(rcv, QtCore.QIODevice.ReadOnly)
        r = rcv_stream.readInt64()

        send_data = QtCore.QByteArray()
        send_stream = QtCore.QDataStream(send_data, QtCore.QIODevice.WriteOnly)

        if r == message_ids["MSG_ID_FEATURE_REQ"]:
            # Allow plugin to request features
            self.run_features_request_message(send_stream)

        elif r == message_ids["MSG_ID_REGISTER"]:
            # register
            self.run_register_message(rcv_stream, send_stream)
            self.after_register()

        elif r == message_ids["MSG_ID_EOT"]:
            # End of Transmission (EOT) message
            self.run_EOT_message(send_stream)
            self.after_transmission()

        elif r >= 0:
            e = self.run_event_message(r, rcv_stream)
            # pass event object to user-defined method
            ret = self.handle_event(e)
            send_stream.writeBool(ret)

        else:
            # unknown message
            raise ValueError("Received unknown message header: {}".format(r))
        self.socket.send(send_data)
Ejemplo n.º 6
0
    def send_event(
            self,
            event_id: int,
            scalar_values: np.array,
            # vector of vector of short
            vector_values: List[np.array],
            image_values: List[np.array]) -> bool:
        """Send a single event to the other process"""

        # prepare message in byte stream
        msg = QtCore.QByteArray()
        msg_stream = QtCore.QDataStream(msg, QtCore.QIODevice.WriteOnly)
        msg_stream.writeInt64(event_id)

        assert len(scalar_values) == self.scalar_len
        assert len(vector_values) == self.vector_len
        assert len(image_values) == self.image_len
        assert np.issubdtype(scalar_values.dtype, np.floating)

        if self.scalar_len > 0:
            qstream_write_array(msg_stream, scalar_values)

        if self.vector_len > 0:
            msg_stream.writeUInt32(self.vector_len)
            for e in vector_values:
                assert e.dtype == np.int16, "fluorescence data is int16"
                qstream_write_array(msg_stream, e)

        if self.image_len > 0:
            msg_stream.writeUInt32(self.image_len)
            for (im_name, e) in zip(self.image_names, image_values):
                if im_name == "mask":
                    assert e.dtype == np.bool_, "'mask' data is bool"
                else:
                    assert e.dtype == np.uint8, "'image' data is uint8"
                qstream_write_array(msg_stream, e.flatten())

        try:
            # send the message over the socket
            self.socket.send(msg)
            # get ACK before return
            rcv_data = QtCore.QByteArray(self.socket.recv())
        except zmq.error.ZMQError:
            if self.verbose:
                print("ZMQ Error")
            return
        rcv_stream = QtCore.QDataStream(rcv_data, QtCore.QIODevice.ReadOnly)
        self.response.append(rcv_stream.readBool())
        return self.response[-1]
Ejemplo n.º 7
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()))

        self.posicion2xy()

        self.siMove = False
        self.tpSize = None

        self.siEditando = siEditando

        self.siRecuadro = False
        if siEditando:
            self.setAcceptHoverEvents(True)
Ejemplo n.º 8
0
    def setup_gui(self):
        filename = os.path.join(os.path.dirname(__file__),
                                'uniformlist_plugin.ui')
        data = QtCore.QByteArray(open(filename, 'rb').read())
        buffer = QtCore.QBuffer(data)
        self.window = QtUiTools.QUiLoader().load(buffer)
        self.window.resize(350, 32 + self.size * 20)
        self.sliders = [None] * self.size
        self.labels = [None] * self.size
        top_layout = self.window.findChild(QtCore.QObject, 'gridLayout')
        for i in range(16):
            layout = self.window.findChild(QtCore.QObject,
                                           f"horizontalLayout_{i + 1}")
            if self.size <= i:
                for j in range(layout.count()):
                    widget = layout.itemAt(j).widget()
                    if widget:
                        widget.close()
                top_layout.removeItem(layout)
                continue
            slider = self.window.findChild(QtCore.QObject, f"slider_{i + 1}")
            label = self.window.findChild(QtCore.QObject, f"value_{i + 1}")
            resolution = self.config['resolution'][i]
            slider.setRange(self.config['min'][i] * resolution,
                            self.config['max'][i] * resolution)
            self.sliders[i] = slider
            self.labels[i] = label
            # Quick trick to workaround python namespace by "double-lambda"
            slider.valueChanged.connect((lambda i: (lambda *_: self.labels[
                i].setText(f"{self.get_value(i): >4.2f}")))(i))
            slider.setValue(self.config['default'][i] * resolution)

        # Quick trick to prevent this window from appearing before the main window
        QtCore.QTimer.singleShot(500, lambda *_: self.window.show())
Ejemplo n.º 9
0
 def roleNames(self):
     """Role names are used by QML to map key to role"""
     byteRoles = self.roles.copy()
     for key in byteRoles:
         byteRoles[key] = QtCore.QByteArray(
             bytearray(byteRoles[key], 'utf-8'))
     return byteRoles
Ejemplo n.º 10
0
    def mimeData(self, indexList):
        attrsString = ','.join([x.data() for x in indexList if x.isValid()])

        mimeData = QtCore.QMimeData()
        mimeData.setData(ITEM_MIME_TYPE, QtCore.QByteArray(attrsString))

        return mimeData
Ejemplo n.º 11
0
def qstream_read_array(stream: QtCore.QDataStream,
                       datatype: np.dtype) -> np.array:
    """Read array data from a stream with a specified type"""
    data_array = QtCore.QByteArray()
    stream >> data_array
    data = np.frombuffer(data_array, dtype=datatype)
    return data
Ejemplo n.º 12
0
    def __init__(self, combo, fps=15, audio_phonems=None):
        self.combo = combo

        # audio
        if combo is not None or audio_phonems is not None:
            if audio_phonems is None:
                audio_phonems = combo.get_audio_phonems()
            rate, wave = concat_segments(audio_phonems)
            self.audio_format = get_format(rate, wave)
            self.data = QtCore.QByteArray(wave.tobytes(order="C"))
            self.audio_input = QtCore.QBuffer(self.data)
        else:
            self.audio_format = None
            self.data = None
            self.audio_input = None

        self.timer = None
        self.audio_output = None

        self.fps = fps

        self.t = 0
        self.period_ms = 1.0 / fps

        if audio_phonems is None:
            self.frames = get_loading_frames(fps)
        else:
            self.frames = self.get_video_extract(audio_phonems)
Ejemplo n.º 13
0
def mimeDataAdd(mimeData, mimeFormat, objects):
    """Sets mime data."""
    data = QtCore.QByteArray()
    stream = QtCore.QDataStream(data, QtCore.QIODevice.WriteOnly)
    text = ":".join(objects)
    stream.writeQString(text)
    mimeData.setData(mimeFormat, data)
Ejemplo n.º 14
0
    def saveFile(self):
        fileName = QtGui.QFileDialog.getSaveFileName(self, "Save file as", '',
                                                     '*.cht')

        if fileName:
            f = QtCore.QFile(fileName)

            if f.open(QtCore.QFile.WriteOnly | QtCore.QFile.Text):
                for row in range(self.model.rowCount(QtCore.QModelIndex())):
                    pieces = []

                    pieces.append(
                        self.model.data(
                            self.model.index(row, 0, QtCore.QModelIndex()),
                            QtCore.Qt.DisplayRole))
                    pieces.append(
                        str(
                            self.model.data(
                                self.model.index(row, 1, QtCore.QModelIndex()),
                                QtCore.Qt.DisplayRole)))
                    pieces.append(
                        self.model.data(
                            self.model.index(row, 0, QtCore.QModelIndex()),
                            QtCore.Qt.DecorationRole).name())

                    f.write(QtCore.QByteArray(','.join(pieces)))
                    f.write('\n')

            f.close()
            self.statusBar().showMessage("Saved %s" % fileName, 2000)
Ejemplo n.º 15
0
    def mouseMoveEvent(self,
                       event: QtGui.QMouseEvent) -> None:  # pragma: no cover
        if (not event.buttons() & QtCore.Qt.LeftButton
                or (event.pos() - self.drag_start_pos).manhattanLength() <
                QtWidgets.QApplication.startDragDistance()):
            return super().mouseMoveEvent(event)
        index = self.tabAt(event.pos())
        if index == -1:
            return super().mouseMoveEvent(event)

        rect = self.tabRect(index)
        pixmap = QtGui.QPixmap(rect.size())
        self.render(pixmap, QtCore.QPoint(), QtGui.QRegion(rect))

        mime_data = QtCore.QMimeData()
        mime_data.setData("application/x-pew2tabbar",
                          QtCore.QByteArray().number(index))

        drag = QtGui.QDrag(self)
        drag.setMimeData(mime_data)
        drag.setPixmap(pixmap)
        drag.setDragCursor(
            QtGui.QCursor(QtCore.Qt.DragMoveCursor).pixmap(),
            QtCore.Qt.MoveAction)
        drag.exec_(QtCore.Qt.MoveAction)
Ejemplo n.º 16
0
    def CadEmpresa(self):
        INSERI = CrudEmpresa()
        INSERI.idEmpresa = self.tx_idEmpresa.text()
        INSERI.NomeFantasia = self.tx_NomeFantasia.text().upper()
        INSERI.RazaoSocial = self.tx_RazaoSocial.text().upper()
        INSERI.cnpj = self.tx_Cnpj.text()
        INSERI.inscEstadual = self.tx_IE.text()
        INSERI.telefone = re.sub('[^[0-9]', '',
                                 (self.tx_TelefoneEmpresa.text()))
        INSERI.email = self.tx_EmailEmpresa.text()
        INSERI.site = self.tx_SiteEmpresa.text()
        INSERI.obs = self.tx_ObsEmpresa.text().upper()
        INSERI.cep = re.sub('[^[0-9]', '', (self.tx_CepEmpresa.text()))
        INSERI.endereco = self.tx_Endereco.text().upper()
        INSERI.numero = self.tx_NumEmpresa.text()
        INSERI.bairro = self.tx_BairroEmpresa.text().upper()
        INSERI.cidade = self.tx_CidadeEmpresa.text().upper()
        INSERI.estado = self.tx_EstadoEmpresa.text().upper()
        INSERI.titulo = self.tx_Titulo.text()
        INSERI.subtitulo = self.tx_SubTitulo.text()

        if self.lb_LogoEmpresa.pixmap():
            image = QtGui.QPixmap(self.lb_LogoEmpresa.pixmap())
            data = QtCore.QByteArray()
            buf = QtCore.QBuffer(data)
            image.save(buf, 'PNG')
            INSERI.logo = str(data.toBase64(), encoding='utf8')

        INSERI.CadEmpresa()
        self.lb_NomeFantasia.setText(self.tx_Titulo.text())
        self.lb_NomeFantasia2.setText(INSERI.subtitulo)
        self.setWindowTitle(INSERI.titulo + " " + INSERI.subtitulo)
Ejemplo n.º 17
0
    def mousePressEvent(self, event):
        child = self.childAt(event.pos())
        if not child:
            return

        pixmap = QtGui.QPixmap(child.pixmap())

        itemData = QtCore.QByteArray()
        dataStream = QtCore.QDataStream(itemData, QtCore.QIODevice.WriteOnly)
        dataStream << pixmap << QtCore.QPoint(event.pos() - child.pos())

        mimeData = QtCore.QMimeData()
        mimeData.setData('application/x-dnditemdata', itemData)

        drag = QtGui.QDrag(self)
        drag.setMimeData(mimeData)
        drag.setPixmap(pixmap)
        drag.setHotSpot(event.pos() - child.pos())

        tempPixmap = QtGui.QPixmap(pixmap)
        painter = QtGui.QPainter()
        painter.begin(tempPixmap)
        painter.fillRect(pixmap.rect(), QtGui.QColor(127, 127, 127, 127))
        painter.end()

        child.setPixmap(tempPixmap)

        if drag.exec_(QtCore.Qt.CopyAction | QtCore.Qt.MoveAction,
                      QtCore.Qt.CopyAction) == QtCore.Qt.MoveAction:
            child.close()
        else:
            child.show()
            child.setPixmap(pixmap)
Ejemplo n.º 18
0
 def send_broadcast(self):
     broadcast_addresses = self.get_broadcast_addresses()
     for address in broadcast_addresses:
         datagram = self.this_device.get_name()
         self._socket.writeDatagram(
             QtCore.QByteArray(bytes(datagram, "ascii")),
             QtNetwork.QHostAddress(address), 45454)
Ejemplo n.º 19
0
 def reset(self):
     self.posicion2xy()
     bm = self.bloqueDatos
     self.pixmap = QtSvg.QSvgRenderer(QtCore.QByteArray(bm.xml.encode()))
     self.setOpacity(bm.opacidad)
     self.setZValue(bm.position.orden)
     self.update()
Ejemplo n.º 20
0
    def load_geometry(self):

        geometry = self.registry.get("window_geometry")
        if geometry:
            geometry = geometry[1:].strip("'")
            self.restoreGeometry(QtCore.QByteArray().fromPercentEncoding(
                bytearray(geometry, "utf-8")))
    def mimeData(self, indexes):
        """This function is called to generate MIME data.
        This is used by drag and drop functionality for example.
        The data are encoded in JSON following this format:
        {
            [0, {"sentence": "Salut", "index": 15}],
            [7, {"sentence": "Les mecs", "index": 2}]
        }
        With 0 and 7 the associated rows.
        """

        serializable_segments_dict = dict(
            (
                index.row(),
                self.get_chosen_from_index(index).to_JSON_serializable()
            )
            for index in indexes
        )

        data = [(row, serializable) for row, serializable in serializable_segments_dict.items()]

        dragData = json.dumps(data)
        mimeData = QtCore.QMimeData()
        mimeData.setData("text/json", QtCore.QByteArray(str.encode(dragData)))
        return mimeData
Ejemplo n.º 22
0
	def readPendingDatagrams(self):
		while self.socket.hasPendingDatagrams():
			self.dgramCount += 1
			datagram = QtCore.QByteArray()
			datagram.resize(self.socket.pendingDatagramSize())
			(datagram, sender, senderPort) = self.socket.readDatagram(datagram.size())
			ui.infoBrowser.append(f'{self.dgramCount} => Received {datagram.size()} bytes from {sender}')
Ejemplo n.º 23
0
    def resetWidget(self):
        lidone = []
        for iso, alm in self.dic.items():
            if alm.donePV:
                lidone.append(iso)
        if self.current:
            reg = self.dic[self.current]
            licurrent = [self.current]
            liborder = reg.border
            liborderdone = [iso for iso in liborder if self.dic[iso].donePV]
        else:
            licurrent = liborder = liborderdone = None

        def modif(x, lista):
            line, default = x
            self.lineasSVG[line] = "." + ",.".join(lista) if lista else default

        modif(self.ln_done, lidone)
        modif(self.ln_current, licurrent)
        modif(self.ln_border, liborder)
        modif(self.ln_borderdone, liborderdone)
        x = "\n".join(self.lineasSVG)
        self.widget.load(QtCore.QByteArray(bytes(x, "utf-8")))

        self.resetListaGrid()
Ejemplo n.º 24
0
    def __init__(self, procesador):

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

        titulo = "%s (%d)" % (_("Transsiberian Railway"), route.level)
        icono = Iconos.Train()
        extparam = "transsiberian"
        QTVarios.WDialogo.__init__(self, procesador.main_window, 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.restore_video(siTam=False)
Ejemplo n.º 25
0
    def __init__(self, wowner, configuration, recno):
        expedition = Everest.Expedition(configuration, recno)
        self.li_routes, self.current, svg, label = 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, int(762.0 * 520.0 / 1172.0))
        lySVG = Colocacion.H().relleno(1).control(wsvg).relleno(1)

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

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

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

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

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

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

        self.setLayout(ly)

        self.restore_video(siTam=True, anchoDefecto=784, altoDefecto=670)
Ejemplo n.º 26
0
    def mimeData(self, indexes: list[QtCore.QModelIndex]) -> QtCore.QMimeData:
        index_data = [{'internalId': i.internalId(
        ), 'row': i.row(), 'column': i.column()} for i in indexes]

        encoded_json = json.dumps(index_data).encode()
        mimeData = QtCore.QMimeData()
        mimeData.setData('text/index-json-array', QtCore.QByteArray(encoded_json))  # type: ignore
        return mimeData
Ejemplo n.º 27
0
 def encode_pixmap(self, pixmap):
     # byteArray + buffer 通过Base64将图片编码为二进制格式,MIMEDATA相关
     pix_bytes = QtCore.QByteArray()
     buffer = QtCore.QBuffer(pix_bytes)
     # buffer使用需要打开和关闭
     buffer.open(QtCore.QBuffer.WriteOnly)
     pixmap.save(buffer, "PNG")
     return pix_bytes.toBase64().data()
Ejemplo n.º 28
0
def pixmap_to_bytes(pixmap, save_type="PNG"):
    bytarr = QtCore.QByteArray()
    buf = QtCore.QBuffer(bytarr)
    buf.open(QtCore.QIODevice.WriteOnly)

    pixmap.save(buf, save_type)

    return bytarr.data()
Ejemplo n.º 29
0
    def process_started(self):

        for i in range(1, 85):
            cmds.currentTime(i)
            self.view.readColorBuffer(self.image, True)
            self.p.write(
                QtCore.QByteArray(bytearray(image_to_bytearray(self.image))))
        self.p.closeWriteChannel()
Ejemplo n.º 30
0
 def leePiezas(self, name=None):  # name usado por compatibilidad
     dic = {}
     for pieza in "rnbqkpRNBQKP":
         fich = os.path.join(self.carpetaBF, "%s%s.svg" % ("w" if pieza.isupper() else "b", pieza.lower()))
         with open(fich, "rb") as f:
             qb = QtCore.QByteArray(f.read())
         dic[pieza] = qb
     return dic