Merge pull request #1833 from pijyoi/fix_pyqt61_scatterplot
fix ScatterPlot render issues on PyQt6 6.1
This commit is contained in:
commit
cb4af3ac97
@ -23,6 +23,7 @@ from .GraphicsObject import GraphicsObject
|
|||||||
from .UIGraphicsItem import UIGraphicsItem
|
from .UIGraphicsItem import UIGraphicsItem
|
||||||
from .. import getConfigOption
|
from .. import getConfigOption
|
||||||
import warnings
|
import warnings
|
||||||
|
import sys
|
||||||
|
|
||||||
translate = QtCore.QCoreApplication.translate
|
translate = QtCore.QCoreApplication.translate
|
||||||
|
|
||||||
@ -1287,7 +1288,7 @@ class ROI(GraphicsObject):
|
|||||||
return np.empty((width, height), dtype=float)
|
return np.empty((width, height), dtype=float)
|
||||||
|
|
||||||
im = QtGui.QImage(width, height, QtGui.QImage.Format.Format_ARGB32)
|
im = QtGui.QImage(width, height, QtGui.QImage.Format.Format_ARGB32)
|
||||||
im.fill(0x0)
|
im.fill(QtCore.Qt.GlobalColor.transparent)
|
||||||
p = QtGui.QPainter(im)
|
p = QtGui.QPainter(im)
|
||||||
p.setPen(fn.mkPen(None))
|
p.setPen(fn.mkPen(None))
|
||||||
p.setBrush(fn.mkBrush('w'))
|
p.setBrush(fn.mkBrush('w'))
|
||||||
@ -1297,8 +1298,9 @@ class ROI(GraphicsObject):
|
|||||||
p.translate(-bounds.topLeft())
|
p.translate(-bounds.topLeft())
|
||||||
p.drawPath(shape)
|
p.drawPath(shape)
|
||||||
p.end()
|
p.end()
|
||||||
mask = fn.imageToArray(im, transpose=True)[:,:,0].astype(float) / 255.
|
cidx = 0 if sys.byteorder == 'little' else 3
|
||||||
return mask
|
mask = fn.qimage_to_ndarray(im)[...,cidx].T
|
||||||
|
return mask.astype(float) / 255
|
||||||
|
|
||||||
def getGlobalTransform(self, relativeTo=None):
|
def getGlobalTransform(self, relativeTo=None):
|
||||||
"""Return global transformation (rotation angle+translation) required to move
|
"""Return global transformation (rotation angle+translation) required to move
|
||||||
|
@ -120,7 +120,7 @@ def renderSymbol(symbol, size, pen, brush, device=None):
|
|||||||
penPxWidth = max(math.ceil(pen.widthF()), 1)
|
penPxWidth = max(math.ceil(pen.widthF()), 1)
|
||||||
if device is None:
|
if device is None:
|
||||||
device = QtGui.QImage(int(size+penPxWidth), int(size+penPxWidth), QtGui.QImage.Format.Format_ARGB32)
|
device = QtGui.QImage(int(size+penPxWidth), int(size+penPxWidth), QtGui.QImage.Format.Format_ARGB32)
|
||||||
device.fill(0)
|
device.fill(QtCore.Qt.GlobalColor.transparent)
|
||||||
p = QtGui.QPainter(device)
|
p = QtGui.QPainter(device)
|
||||||
try:
|
try:
|
||||||
p.setRenderHint(p.RenderHint.Antialiasing)
|
p.setRenderHint(p.RenderHint.Antialiasing)
|
||||||
|
Loading…
Reference in New Issue
Block a user