def _showPopup(self): assert(self._window) assert(self._locationBar) if not self._locationBar.hasFocus() or self._s_model.rowCount() == 0: self._s_view.close() return if self._s_view.isVisible(): self._adjustPopupSize() return popupRect = QRect(self._locationBar.mapToGlobal(self._locationBar.pos()), self._locationBar.size()) popupRect.setY(popupRect.bottom()) self._s_view.setGeometry(popupRect) self._s_view.setFocusProxy(self._locationBar) self._s_view.setCurrentIndex(QModelIndex()) self._s_view.closed.connect(self._slotPopupClosed) self._s_view.indexActivated.connect(self._indexActivated) self._s_view.indexCtrlActivated.connect(self._indexCtrlActivated) self._s_view.indexShiftActivated.connect(self._indexShiftActivated) self._s_view.indexDeleteRequested.connect(self._indexDeleteRequested) self._s_view.loadRequested.connect(self.loadRequested) self._s_view.searchEnginesDialogRequested.connect(self._openSearchEnginesDialog) self._s_view.selectionModel().currentChanged.connect(self._currentChanged) #self._s_view.createWinId() self._s_view.winId() self._s_view.windowHandle().setTransientParent(self._window.windowHandle()) self._adjustPopupSize()
def on_printAction4_triggered(self): printer = QPrinter() printer.setPageSize(QPrinter.A4) view = QPrintPreviewDialog(printer) printer.setOutputFormat(QPrinter.PdfFormat) printer.setOutputFileName("xxx.pdf") painter = QPainter(printer) painter.begin(printer) image = QPixmap() image.load("00001010100000001.png") picsize = image.size() size = QSize() size.setHeight(picsize.height() / 2.5) size.setWidth(picsize.width() / 2.5) image = image.scaled(size, Qt.KeepAspectRatio) rect = QRect() rect.setX(10) rect.setY(10) painter.drawPixmap(rect, image) print(10 + picsize.width() / 5) print(12 + picsize.height()) # rect.setX(10 + picsize.width()/10) # rect.setY(12 + picsize.height()/2.5) painter.drawText(50, 200, "10001491274") painter.layoutDirection() # self.gridLayout.addWidget(self.groupBox, 0, 0, 2, 1) # self.gridLayout = QtWidgets.QGridLayout(self.centralwidget) painter.end()
def paintEvent(self, event): ''' @param event QPaintEvent ''' p = QPainter(self) p.setRenderHint(QPainter.Antialiasing) size = 16 pixmapSize = round(size * self.data().animationPixmap.devicePixelRatioF()) # Center the pixmap in rect r = QRect(self.rect()) r.setX((r.width() - size) / 2) r.setY((r.height() - size) / 2) r.setWidth(size) r.setHeight(size) if self._animationRunning: p.drawPixmap( r, self.data().animationPixmap, QRect(self._currentFrame * pixmapSize, 0, pixmapSize, pixmapSize)) elif self._audioIconDisplayed and not self._tab.isPinned(): self._audioIconRect = QRect(r) p.drawPixmap( r, self._tab.isMuted() and self.data().audioMutedPixmap or self.data().audioPlayingPixmap) elif not self._sitePixmap.isNull(): p.drawPixmap(r, self._sitePixmap) elif self._tab and self._tab.isPinned(): p.drawPixmap(r, IconProvider.emptyWebIcon().pixmap(size)) # Draw audio icon on top of site icon for pinned tabs if not self._animationRunning and self._audioIconDisplayed and self._tab.isPinned( ): s = size - 4 r0 = QRect(self.width() - 4, 0, s, s) self._audioIconRect = r0 c = self.palette().color(QPalette.Window) c.setAlpha(180) p.setPen(c) p.setBrush(c) p.drawEllipse(r) p.drawPixmap( r, self._tab.isMuted() and self.data().audioMutedPixmap or self.data().audioPlayingPixmap) # Draw background activity indicator if self._tab and self._tab.isPinned() and self._tab.webView( ).backgroundActivity(): s = 5 # Background r1 = QRect(self.width() - s - 2, self.height() - s - 2, s + 2, s + 2) c1 = self.palette().color(QPalette.Window) c1.setAlpha(180) p.setPen(Qt.transparent) p.setBrush(c1) p.drawEllipse(r1) # Forground r2 = QRect(self.width() - s - 1, self.height() - s - 1, s, s) c2 = self.palette().color(QPalette.Text) p.setPen(Qt.transparent) p.setBrush(c2) p.drawEllipse(r2)
def on_printAction3_triggered(self): printer = QPrinter() image = QPixmap() image.load("0.png") font = QFont() font.setBold(True) font.setPixelSize(50) textsize = QSize() # textsize.setHeight() pen = QPen() pen.setColor(Qt.black) pagesize = QSizeF() print(image.width()) print(image.height()) pagesize.setWidth(60) pagesize.setHeight(40) printer.setPaperSize(pagesize, QPrinter.Millimeter) print(printer.pageSize()) printDialog = QPrintDialog(printer, self) printDialog.setWindowTitle("打印二维码") if printDialog.exec_() == QDialog.Accepted: painter = QPainter(printer) painter.setPen(pen) painter.setFont(font) painter.begin(printer) picsize = image.size() size = QSize() # size.setHeight(picsize.height()) # size.setWidth(picsize.width()) # size.setWidth(60) # size.setHeight(40) # # # # image = image.scaled(size, Qt.KeepAspectRatio) rectdest = QRect() rectdest.setX(25) rectdest.setY(0) rectdest.setWidth(175) rectdest.setHeight(150) print(image.rect()) # rectsrc = QRect() # image.rect() # rectsrc.setX(0) # rectsrc.setY(0) # rectsrc.setX(image.width()) # rectsrc.setY(image.height()) painter.drawPixmap(rectdest, image, image.rect()) # rect.setX(10 + picsize.width()/10) # rect.setY(12 + picsize.height()/2.5) # painter.drawText(50, 120, "10001491274") # preview = QPrintPreviewDialog() # preview.paintRequested(printer) # preview.exec() painter.end()