5 |
5 |
6 """ |
6 """ |
7 Module implementing a dialog showing a pixmap. |
7 Module implementing a dialog showing a pixmap. |
8 """ |
8 """ |
9 |
9 |
10 from PyQt5.QtCore import Qt, QSize, QEvent |
10 from PyQt6.QtCore import Qt, QSize, QEvent |
11 from PyQt5.QtGui import QPalette, QImage, QPixmap, QPainter, QFont, QColor |
11 from PyQt6.QtGui import ( |
12 from PyQt5.QtWidgets import ( |
12 QPalette, QImage, QPixmap, QPainter, QFont, QColor, QAction |
13 QLabel, QSizePolicy, QScrollArea, QAction, QMenu, QToolBar |
|
14 ) |
13 ) |
15 from PyQt5.QtPrintSupport import QPrinter, QPrintDialog |
14 from PyQt6.QtWidgets import ( |
|
15 QLabel, QSizePolicy, QScrollArea, QMenu, QToolBar |
|
16 ) |
|
17 from PyQt6.QtPrintSupport import QPrinter, QPrintDialog |
16 |
18 |
17 from E5Gui import E5MessageBox |
19 from E5Gui import E5MessageBox |
18 from E5Gui.E5MainWindow import E5MainWindow |
20 from E5Gui.E5MainWindow import E5MainWindow |
19 from E5Gui.E5ZoomWidget import E5ZoomWidget |
21 from E5Gui.E5ZoomWidget import E5ZoomWidget |
20 |
22 |
342 |
344 |
343 def __printPreviewDiagram(self): |
345 def __printPreviewDiagram(self): |
344 """ |
346 """ |
345 Private slot called to show a print preview of the diagram. |
347 Private slot called to show a print preview of the diagram. |
346 """ |
348 """ |
347 from PyQt5.QtPrintSupport import QPrintPreviewDialog |
349 from PyQt6.QtPrintSupport import QPrintPreviewDialog |
348 |
350 |
349 printer = QPrinter(mode=QPrinter.PrinterMode.ScreenResolution) |
351 printer = QPrinter(mode=QPrinter.PrinterMode.ScreenResolution) |
350 printer.setFullPage(True) |
352 printer.setFullPage(True) |
351 if Preferences.getPrinter("ColorMode"): |
353 if Preferences.getPrinter("ColorMode"): |
352 printer.setColorMode(QPrinter.ColorMode.Color) |
354 printer.setColorMode(QPrinter.ColorMode.Color) |
378 """ |
380 """ |
379 painter = QPainter() |
381 painter = QPainter() |
380 painter.begin(printer) |
382 painter.begin(printer) |
381 |
383 |
382 # calculate margin and width of printout |
384 # calculate margin and width of printout |
383 font = QFont("times", 10) |
385 font = QFont(["times"], 10) |
384 painter.setFont(font) |
386 painter.setFont(font) |
385 fm = painter.fontMetrics() |
387 fm = painter.fontMetrics() |
386 fontHeight = fm.lineSpacing() |
388 fontHeight = fm.lineSpacing() |
387 marginX = ( |
389 marginX = ( |
388 printer.pageLayout().paintRectPixels(printer.resolution()).x() - |
390 printer.pageLayout().paintRectPixels(printer.resolution()).x() - |