eric7/E5Graphics/E5GraphicsView.py

branch
eric7
changeset 8318
962bce857696
parent 8312
800c432b34c8
equal deleted inserted replaced
8316:0c7a44af84bc 8318:962bce857696
7 Module implementing a canvas view class. 7 Module implementing a canvas view class.
8 """ 8 """
9 9
10 import sys 10 import sys
11 11
12 from PyQt5.QtCore import pyqtSignal, QRectF, QSize, QSizeF, Qt 12 from PyQt6.QtCore import pyqtSignal, QRectF, QSize, QSizeF, Qt
13 from PyQt5.QtGui import QBrush, QPainter, QPixmap, QFont, QColor 13 from PyQt6.QtGui import QBrush, QPainter, QPixmap, QFont, QColor
14 from PyQt5.QtWidgets import QGraphicsView 14 from PyQt6.QtWidgets import QGraphicsView
15 15
16 from E5Gui.E5Application import e5App 16 from E5Gui.E5Application import e5App
17 17
18 import Preferences 18 import Preferences
19 19
47 47
48 self.__initialSceneSize = self.scene().sceneRect().size() 48 self.__initialSceneSize = self.scene().sceneRect().size()
49 self.setBackgroundBrush(QBrush(self.getBackgroundColor())) 49 self.setBackgroundBrush(QBrush(self.getBackgroundColor()))
50 self.setRenderHint(QPainter.RenderHint.Antialiasing, True) 50 self.setRenderHint(QPainter.RenderHint.Antialiasing, True)
51 self.setDragMode(QGraphicsView.DragMode.RubberBandDrag) 51 self.setDragMode(QGraphicsView.DragMode.RubberBandDrag)
52 self.setAlignment(Qt.Alignment( 52 self.setAlignment(
53 Qt.AlignmentFlag.AlignLeft | Qt.AlignmentFlag.AlignTop)) 53 Qt.AlignmentFlag.AlignLeft | Qt.AlignmentFlag.AlignTop)
54 self.setHorizontalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAlwaysOn) 54 self.setHorizontalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAlwaysOn)
55 self.setVerticalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAlwaysOn) 55 self.setVerticalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAlwaysOn)
56 self.setViewportUpdateMode( 56 self.setViewportUpdateMode(
57 QGraphicsView.ViewportUpdateMode.SmartViewportUpdate) 57 QGraphicsView.ViewportUpdateMode.SmartViewportUpdate)
58 58
302 # step 2: grab the diagram 302 # step 2: grab the diagram
303 if imageFormat == "PNG": 303 if imageFormat == "PNG":
304 paintDevice = QPixmap(int(rect.width()), int(rect.height())) 304 paintDevice = QPixmap(int(rect.width()), int(rect.height()))
305 paintDevice.fill(self.backgroundBrush().color()) 305 paintDevice.fill(self.backgroundBrush().color())
306 else: 306 else:
307 from PyQt5.QtSvg import QSvgGenerator 307 from PyQt6.QtSvg import QSvgGenerator
308 paintDevice = QSvgGenerator() 308 paintDevice = QSvgGenerator()
309 paintDevice.setResolution(100) # 100 dpi 309 paintDevice.setResolution(100) # 100 dpi
310 paintDevice.setSize(QSize(int(rect.width()), int(rect.height()))) 310 paintDevice.setSize(QSize(int(rect.width()), int(rect.height())))
311 paintDevice.setViewBox(rect) 311 paintDevice.setViewBox(rect)
312 paintDevice.setFileName(filename) 312 paintDevice.setFileName(filename)
345 (QPrinter) 345 (QPrinter)
346 @param diagramName name of the diagram (string) 346 @param diagramName name of the diagram (string)
347 """ 347 """
348 painter = QPainter(printer) 348 painter = QPainter(printer)
349 349
350 font = QFont("times", 10) 350 font = QFont(["times"], 10)
351 painter.setFont(font) 351 painter.setFont(font)
352 fm = painter.fontMetrics() 352 fm = painter.fontMetrics()
353 fontHeight = fm.lineSpacing() 353 fontHeight = fm.lineSpacing()
354 marginX = ( 354 marginX = (
355 printer.pageLayout().paintRectPixels(printer.resolution()).x() - 355 printer.pageLayout().paintRectPixels(printer.resolution()).x() -

eric ide

mercurial