我们从Python开源项目中,提取了以下26个代码示例,用于说明如何使用PyQt5.QtCore.QByteArray()。
def capture(self, url): print('--load') self.load(QUrl(url)) self.wait_load() self.show() size = self.page().contentsSize() self.page().view().resize(*[int(s) for s in [size.width(), size.height()]]) print('--take image') image = QImage(800, 800, QImage.Format_ARGB32) painter = QPainter(image) print('--render') self.page().view().render(painter) painter.end() print('Saving QImage') img_bytes = QByteArray() bio = QBuffer(img_bytes) bio.open(QIODevice.WriteOnly) image.save(bio, 'PNG') return img_bytes
def sendFortune(self): fortune = self.FORTUNES[random.randint(0, len(self.FORTUNES) - 1)] block = QByteArray() out = QDataStream(block, QIODevice.WriteOnly) out.setVersion(QDataStream.Qt_4_0) out.writeUInt16(0) out.writeQString(fortune) out.device().seek(0) out.writeUInt16(block.size() - 2) clientConnection = self.tcpServer.nextPendingConnection() clientConnection.disconnected.connect(clientConnection.deleteLater) clientConnection.write(block) clientConnection.disconnectFromHost()
def retrieve_geometry(self, name): if name not in self._geometries: return None return QByteArray(bytes(self._geometries[name]))
def mimeData(self, indexes): mimedata = QtCore.QMimeData() encoded_data = QtCore.QByteArray() stream = QtCore.QDataStream(encoded_data, QtCore.QIODevice.WriteOnly) for index in indexes: if index.isValid(): text = self.data(index, 0) stream << QtCore.QByteArray(text.encode('utf-8')) mimedata.setData('application/vnd.treeviewdragdrop.list', encoded_data) return mimedata
def decode_utf8(qs): try: return QByteArray(qs.decode(encoding='utf8')) except AttributeError: return QByteArray(bytes(qs, encoding='utf8'))
def startTransfer(self): self.bytesToWrite = Dialog.TotalBytes - self.tcpClient.write(QByteArray(Dialog.PayloadSize, '@')) self.clientStatusLabel.setText("Connected")
def updateClientProgress(self, numBytes): self.bytesWritten += numBytes if self.bytesToWrite > 0: self.bytesToWrite -= self.tcpClient.write(QByteArray( min(self.bytesToWrite, Dialog.PayloadSize), '@')) self.clientProgressBar.setMaximum(Dialog.TotalBytes) self.clientProgressBar.setValue(self.bytesWritten) self.clientStatusLabel.setText("Sent %dMB" % (self.bytesWritten / (1024 * 1024)))
def sendFortune(self): block = QByteArray() out = QDataStream(block, QIODevice.WriteOnly) out.setVersion(QDataStream.Qt_4_0) out.writeUInt16(0) out.writeQString(random.choice(self.fortunes)) out.device().seek(0) out.writeUInt16(block.size() - 2) clientConnection = self.server.nextPendingConnection() clientConnection.disconnected.connect(clientConnection.deleteLater) clientConnection.write(block) clientConnection.flush() clientConnection.disconnectFromServer()
def readData(self, maxlen): data = QByteArray() total = 0 while maxlen > total: chunk = min(self.m_buffer.size() - self.m_pos, maxlen - total) data.append(self.m_buffer.mid(self.m_pos, chunk)) self.m_pos = (self.m_pos + chunk) % self.m_buffer.size() total += chunk return data.data()
def __init__(self, parent=None): super(Camera, self).__init__(parent) self.ui = Ui_Camera() self.camera = None self.imageCapture = None self.mediaRecorder = None self.isCapturingImage = False self.applicationExiting = False self.imageSettings = QImageEncoderSettings() self.audioSettings = QAudioEncoderSettings() self.videoSettings = QVideoEncoderSettings() self.videoContainerFormat = '' self.ui.setupUi(self) cameraDevice = QByteArray() videoDevicesGroup = QActionGroup(self) videoDevicesGroup.setExclusive(True) for deviceName in QCamera.availableDevices(): description = QCamera.deviceDescription(deviceName) videoDeviceAction = QAction(description, videoDevicesGroup) videoDeviceAction.setCheckable(True) videoDeviceAction.setData(deviceName) if cameraDevice.isEmpty(): cameraDevice = deviceName videoDeviceAction.setChecked(True) self.ui.menuDevices.addAction(videoDeviceAction) videoDevicesGroup.triggered.connect(self.updateCameraDevice) self.ui.captureWidget.currentChanged.connect(self.updateCaptureMode) self.ui.lockButton.hide() self.setCamera(cameraDevice)
def dropMimeData(self, data, action, row, column, parent): if action == QtCore.Qt.IgnoreAction: return True if not data.hasFormat('application/vnd.treeviewdragdrop.list'): return False if column > 0: return False num_rows = self.rowCount(QtCore.QModelIndex()) if num_rows <= 0: return False if row < 0: if parent.isValid(): row = parent.row() else: return False encoded_data = data.data('application/vnd.treeviewdragdrop.list') stream = QtCore.QDataStream(encoded_data, QtCore.QIODevice.ReadOnly) new_items = [] rows = 0 while not stream.atEnd(): text = QtCore.QByteArray() stream >> text text = bytes(text).decode('utf-8') index = self.nodes.index(text) new_items.append((text, index)) rows += 1 self.lastDroppedItems = [] for (text, index) in new_items: target_row = row if index < row: target_row += 1 self.beginInsertRows(QtCore.QModelIndex(), target_row, target_row) self.nodes.insert(target_row, text) self.endInsertRows() self.lastDroppedItems.append(text) row += 1 self.pendingRemoveRowsAfterDrop = True return True
def __init__( self, app, parent, title, file_left, header_left, file_right, header_right, ): super().__init__( app, app.debug_options.debugLogDiff, parent=parent ) wb_tracked_qwidget.WbTrackedModeless.__init__( self ) prefs = self.app.prefs.diff_window geometry = prefs.geometry self.setWindowTitle( title ) icon = app.getAppQIcon() if icon is not None: self.setWindowIcon( icon ) if geometry is not None: geometry = QtCore.QByteArray( geometry.encode('utf-8') ) self.restoreGeometry( QtCore.QByteArray.fromHex( geometry ) ) else: em = self.app.fontMetrics().width( 'm' ) ex = self.app.fontMetrics().lineSpacing() self.resize( 130*em, 45*ex ) self.setupToolBar() self.setupStatusBar( self.statusBar() ) self.splitter = QtWidgets.QSplitter() self.splitter.setOrientation( QtCore.Qt.Horizontal ) self.sash_ratio = 0.5 self.panel_left = DiffWidget( app, self.splitter, header_left, name='left' ) self.panel_right = DiffWidget( app, self.splitter, header_right, name='right' ) self.panel_left.ed.setMirrorEditor( self.panel_right.ed ) self.panel_right.ed.setMirrorEditor( self.panel_left.ed ) self.panel_left.ed.setProcessKeyHandler( self.processKeyHandler ) self.panel_right.ed.setProcessKeyHandler( self.processKeyHandler ) self.splitter.addWidget( self.panel_left ) self.splitter.addWidget( self.panel_right ) # Create the editor and calculate all the differences self.processor = wb_diff_processor.DiffProcessor( self.panel_left.ed, self.panel_right.ed ) self.diff = wb_diff_difflib.Difference( self.processor ) self.files_ok = self.diff.filecompare( file_left, file_right ) if not self.files_ok: return self.setChangeCounts( 0, self.processor.getChangeCount() ) self.setCentralWidget( self.splitter ) # start with folds collapsed self.actionFoldsCollapse() # show first diff self.actionDiffNext()