Use Qt6 Enum Namespace

This namespace appears to be valid in PySide2/PyQt5 5.12+ so we may as
well migrate to the newer namespace ourselves.
This commit is contained in:
Ogi Moore 2021-06-05 18:17:43 -07:00
parent 29bdf9949e
commit d455da9aec
111 changed files with 491 additions and 520 deletions

View File

@ -101,7 +101,7 @@ class MainWindow(pg.GraphicsLayoutWidget):
{'crv': curve2, 'buf': np.zeros( length ), 'ptr':0, 'ds': DataSource( signal_period=0.65 ) }, {'crv': curve2, 'buf': np.zeros( length ), 'ptr':0, 'ds': DataSource( signal_period=0.65 ) },
{'crv': curve3, 'buf': np.zeros( length ), 'ptr':0, 'ds': DataSource( signal_period=0.52 ) }, {'crv': curve3, 'buf': np.zeros( length ), 'ptr':0, 'ds': DataSource( signal_period=0.52 ) },
) )
self.timer = QtCore.QTimer(timerType=QtCore.Qt.PreciseTimer) self.timer = QtCore.QTimer(timerType=QtCore.Qt.TimerType.PreciseTimer)
self.timer.timeout.connect(self.update) self.timer.timeout.connect(self.update)
timestamp = time.perf_counter() timestamp = time.perf_counter()
for dic in self.traces: for dic in self.traces:

View File

@ -51,7 +51,7 @@ class Graph(pg.GraphItem):
def mouseDragEvent(self, ev): def mouseDragEvent(self, ev):
if ev.button() != QtCore.Qt.LeftButton: if ev.button() != QtCore.Qt.MouseButton.LeftButton:
ev.ignore() ev.ignore()
return return

View File

@ -41,7 +41,7 @@ def format(color, style=''):
_format = QTextCharFormat() _format = QTextCharFormat()
_format.setForeground(_color) _format.setForeground(_color)
if 'bold' in style: if 'bold' in style:
_format.setFontWeight(QFont.Bold) _format.setFontWeight(QFont.Weight.Bold)
if 'italic' in style: if 'italic' in style:
_format.setFontItalic(True) _format.setFontItalic(True)
@ -275,7 +275,7 @@ class ExampleLoader(QtGui.QMainWindow):
self.hl = PythonHighlighter(self.ui.codeView.document()) self.hl = PythonHighlighter(self.ui.codeView.document())
app = QtGui.QApplication.instance() app = QtGui.QApplication.instance()
app.paletteChanged.connect(self.updateTheme) app.paletteChanged.connect(self.updateTheme)
self.codeLayout.addItem(QtGui.QSpacerItem(100,100,QtGui.QSizePolicy.Expanding,QtGui.QSizePolicy.Expanding), 0, 0) self.codeLayout.addItem(QtGui.QSpacerItem(100,100,QtGui.QSizePolicy.Policy.Expanding,QtGui.QSizePolicy.Policy.Expanding), 0, 0)
self.codeLayout.addWidget(self.codeBtn, 1, 1) self.codeLayout.addWidget(self.codeBtn, 1, 1)
self.codeBtn.hide() self.codeBtn.hide()
@ -301,8 +301,8 @@ class ExampleLoader(QtGui.QMainWindow):
# first, a dark background # first, a dark background
c = QtGui.QColor('#171717') c = QtGui.QColor('#171717')
p = self.ui.codeView.palette() p = self.ui.codeView.palette()
p.setColor(QtGui.QPalette.Active, QtGui.QPalette.Base, c) p.setColor(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, c)
p.setColor(QtGui.QPalette.Inactive, QtGui.QPalette.Base, c) p.setColor(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, c)
self.ui.codeView.setPalette(p) self.ui.codeView.setPalette(p)
# then, a light font # then, a light font
f = QtGui.QTextCharFormat() f = QtGui.QTextCharFormat()

View File

@ -12,6 +12,7 @@ from pyqtgraph.Qt import QtGui, QtCore
import numpy as np import numpy as np
import pyqtgraph as pg import pyqtgraph as pg
from pyqtgraph.ptime import time from pyqtgraph.ptime import time
# pg.setConfigOptions(useOpenGL=True)
app = pg.mkQApp("MultiPlot Speed Test") app = pg.mkQApp("MultiPlot Speed Test")
plot = pg.plot() plot = pg.plot()
@ -22,7 +23,7 @@ nPlots = 100
nSamples = 500 nSamples = 500
curves = [] curves = []
for idx in range(nPlots): for idx in range(nPlots):
curve = pg.PlotCurveItem(pen=(idx,nPlots*1.3)) curve = pg.PlotCurveItem(pen=({'color': (idx, nPlots*1.3), 'width': 1}), skipFiniteCheck=True)
plot.addItem(curve) plot.addItem(curve)
curve.setPos(0,idx*6) curve.setPos(0,idx*6)
curves.append(curve) curves.append(curve)
@ -45,7 +46,7 @@ def update():
count += 1 count += 1
for i in range(nPlots): for i in range(nPlots):
curves[i].setData(data[(ptr+i)%data.shape[0]], skipFiniteCheck=True) curves[i].setData(data[(ptr+i)%data.shape[0]])
ptr += nPlots ptr += nPlots
now = time() now = time()

View File

@ -78,7 +78,7 @@ class Ui_MainWindow(object):
self.gridLayout_4.setObjectName(u"gridLayout_4") self.gridLayout_4.setObjectName(u"gridLayout_4")
self.rawImg = RawImageWidget(self.page_2) self.rawImg = RawImageWidget(self.page_2)
self.rawImg.setObjectName(u"rawImg") self.rawImg.setObjectName(u"rawImg")
sizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Preferred) sizePolicy = QSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Preferred)
sizePolicy.setHorizontalStretch(0) sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0) sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.rawImg.sizePolicy().hasHeightForWidth()) sizePolicy.setHeightForWidth(self.rawImg.sizePolicy().hasHeightForWidth())
@ -126,7 +126,7 @@ class Ui_MainWindow(object):
self.label_3 = QLabel(self.centralwidget) self.label_3 = QLabel(self.centralwidget)
self.label_3.setObjectName(u"label_3") self.label_3.setObjectName(u"label_3")
self.label_3.setAlignment(Qt.AlignCenter) self.label_3.setAlignment(Qt.AlignmentFlag.AlignCenter)
self.horizontalLayout_2.addWidget(self.label_3) self.horizontalLayout_2.addWidget(self.label_3)
@ -148,7 +148,7 @@ class Ui_MainWindow(object):
self.label_2 = QLabel(self.centralwidget) self.label_2 = QLabel(self.centralwidget)
self.label_2.setObjectName(u"label_2") self.label_2.setObjectName(u"label_2")
self.label_2.setAlignment(Qt.AlignCenter) self.label_2.setAlignment(Qt.AlignmentFlag.AlignCenter)
self.horizontalLayout.addWidget(self.label_2) self.horizontalLayout.addWidget(self.label_2)
@ -170,7 +170,7 @@ class Ui_MainWindow(object):
self.label_4 = QLabel(self.centralwidget) self.label_4 = QLabel(self.centralwidget)
self.label_4.setObjectName(u"label_4") self.label_4.setObjectName(u"label_4")
self.label_4.setAlignment(Qt.AlignCenter) self.label_4.setAlignment(Qt.AlignmentFlag.AlignCenter)
self.horizontalLayout_3.addWidget(self.label_4) self.horizontalLayout_3.addWidget(self.label_4)
@ -200,7 +200,7 @@ class Ui_MainWindow(object):
self.gridLayout_2.addWidget(self.gradient, 7, 2, 1, 2) self.gridLayout_2.addWidget(self.gradient, 7, 2, 1, 2)
self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
self.gridLayout_2.addItem(self.horizontalSpacer, 3, 3, 1, 1) self.gridLayout_2.addItem(self.horizontalSpacer, 3, 3, 1, 1)
@ -209,7 +209,7 @@ class Ui_MainWindow(object):
font = QFont() font = QFont()
font.setPointSize(12) font.setPointSize(12)
self.fpsLabel.setFont(font) self.fpsLabel.setFont(font)
self.fpsLabel.setAlignment(Qt.AlignCenter) self.fpsLabel.setAlignment(Qt.AlignmentFlag.AlignCenter)
self.gridLayout_2.addWidget(self.fpsLabel, 0, 0, 1, 4) self.gridLayout_2.addWidget(self.fpsLabel, 0, 0, 1, 4)
@ -227,14 +227,14 @@ class Ui_MainWindow(object):
self.horizontalLayout_4.setObjectName(u"horizontalLayout_4") self.horizontalLayout_4.setObjectName(u"horizontalLayout_4")
self.framesSpin = QSpinBox(self.centralwidget) self.framesSpin = QSpinBox(self.centralwidget)
self.framesSpin.setObjectName(u"framesSpin") self.framesSpin.setObjectName(u"framesSpin")
self.framesSpin.setButtonSymbols(QAbstractSpinBox.NoButtons) self.framesSpin.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons)
self.framesSpin.setValue(10) self.framesSpin.setValue(10)
self.horizontalLayout_4.addWidget(self.framesSpin) self.horizontalLayout_4.addWidget(self.framesSpin)
self.widthSpin = QSpinBox(self.centralwidget) self.widthSpin = QSpinBox(self.centralwidget)
self.widthSpin.setObjectName(u"widthSpin") self.widthSpin.setObjectName(u"widthSpin")
self.widthSpin.setButtonSymbols(QAbstractSpinBox.PlusMinus) self.widthSpin.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.PlusMinus)
self.widthSpin.setMaximum(10000) self.widthSpin.setMaximum(10000)
self.widthSpin.setValue(512) self.widthSpin.setValue(512)
@ -242,7 +242,7 @@ class Ui_MainWindow(object):
self.heightSpin = QSpinBox(self.centralwidget) self.heightSpin = QSpinBox(self.centralwidget)
self.heightSpin.setObjectName(u"heightSpin") self.heightSpin.setObjectName(u"heightSpin")
self.heightSpin.setButtonSymbols(QAbstractSpinBox.NoButtons) self.heightSpin.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons)
self.heightSpin.setMaximum(10000) self.heightSpin.setMaximum(10000)
self.heightSpin.setValue(512) self.heightSpin.setValue(512)

View File

@ -48,7 +48,7 @@ class movableRect(QtGui.QGraphicsRectItem):
self.setPen(self.savedPen) self.setPen(self.savedPen)
ev.ignore() ev.ignore()
def mousePressEvent(self, ev): def mousePressEvent(self, ev):
if ev.button() == QtCore.Qt.LeftButton: if ev.button() == QtCore.Qt.MouseButton.LeftButton:
ev.accept() ev.accept()
self.pressDelta = self.mapToParent(ev.pos()) - self.pos() self.pressDelta = self.mapToParent(ev.pos()) - self.pos()
else: else:

View File

@ -17,10 +17,10 @@ win.resize(1000,800)
lw = pg.GraphicsLayoutWidget() lw = pg.GraphicsLayoutWidget()
lw.setFixedWidth(1000) lw.setFixedWidth(1000)
lw.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) lw.setSizePolicy(QtGui.QSizePolicy.Policy.Expanding, QtGui.QSizePolicy.Policy.Expanding)
scr = QtGui.QScrollArea() scr = QtGui.QScrollArea()
scr.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn) scr.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOn)
scr.setWidget(lw) scr.setWidget(lw)
win.setCentralWidget(scr) win.setCentralWidget(scr)
win.setWindowTitle('pyqtgraph example: Color maps') win.setWindowTitle('pyqtgraph example: Color maps')

View File

@ -66,10 +66,10 @@ win.resize(1000,800)
lw = pg.GraphicsLayoutWidget() lw = pg.GraphicsLayoutWidget()
lw.setFixedWidth(1000) lw.setFixedWidth(1000)
lw.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) lw.setSizePolicy(QtGui.QSizePolicy.Policy.Expanding, QtGui.QSizePolicy.Policy.Expanding)
scr = QtGui.QScrollArea() scr = QtGui.QScrollArea()
scr.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn) scr.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOn)
scr.setWidget(lw) scr.setWidget(lw)
win.setCentralWidget(scr) win.setCentralWidget(scr)
win.setWindowTitle('pyqtgraph example: Linearized color maps') win.setWindowTitle('pyqtgraph example: Linearized color maps')

View File

@ -67,7 +67,7 @@ class MenuBox(pg.GraphicsObject):
# On right-click, raise the context menu # On right-click, raise the context menu
def mouseClickEvent(self, ev): def mouseClickEvent(self, ev):
if ev.button() == QtCore.Qt.RightButton: if ev.button() == QtCore.Qt.MouseButton.RightButton:
if self.raiseContextMenu(ev): if self.raiseContextMenu(ev):
ev.accept() ev.accept()
@ -101,7 +101,7 @@ class MenuBox(pg.GraphicsObject):
alpha = QtGui.QWidgetAction(self.menu) alpha = QtGui.QWidgetAction(self.menu)
alphaSlider = QtGui.QSlider() alphaSlider = QtGui.QSlider()
alphaSlider.setOrientation(QtCore.Qt.Horizontal) alphaSlider.setOrientation(QtCore.Qt.Orientation.Horizontal)
alphaSlider.setMaximum(255) alphaSlider.setMaximum(255)
alphaSlider.setValue(255) alphaSlider.setValue(255)
alphaSlider.valueChanged.connect(self.setAlpha) alphaSlider.valueChanged.connect(self.setAlpha)

View File

@ -20,12 +20,12 @@ class CustomViewBox(pg.ViewBox):
## reimplement right-click to zoom out ## reimplement right-click to zoom out
def mouseClickEvent(self, ev): def mouseClickEvent(self, ev):
if ev.button() == QtCore.Qt.RightButton: if ev.button() == QtCore.Qt.MouseButton.RightButton:
self.autoRange() self.autoRange()
## reimplement mouseDragEvent to disable continuous axis zoom ## reimplement mouseDragEvent to disable continuous axis zoom
def mouseDragEvent(self, ev, axis=None): def mouseDragEvent(self, ev, axis=None):
if axis is not None and ev.button() == QtCore.Qt.RightButton: if axis is not None and ev.button() == QtCore.Qt.MouseButton.RightButton:
ev.ignore() ev.ignore()
else: else:
pg.ViewBox.mouseDragEvent(self, ev, axis=axis) pg.ViewBox.mouseDragEvent(self, ev, axis=axis)

View File

@ -22,7 +22,7 @@ class Ui_Form(object):
self.gridLayout_2.setObjectName(u"gridLayout_2") self.gridLayout_2.setObjectName(u"gridLayout_2")
self.splitter = QSplitter(Form) self.splitter = QSplitter(Form)
self.splitter.setObjectName(u"splitter") self.splitter.setObjectName(u"splitter")
self.splitter.setOrientation(Qt.Horizontal) self.splitter.setOrientation(Qt.Orientation.Horizontal)
self.widget = QWidget(self.splitter) self.widget = QWidget(self.splitter)
self.widget.setObjectName(u"widget") self.widget.setObjectName(u"widget")
self.gridLayout = QGridLayout(self.widget) self.gridLayout = QGridLayout(self.widget)
@ -68,7 +68,7 @@ class Ui_Form(object):
font = QFont() font = QFont()
font.setBold(True) font.setBold(True)
self.loadedFileLabel.setFont(font) self.loadedFileLabel.setFont(font)
self.loadedFileLabel.setAlignment(Qt.AlignCenter) self.loadedFileLabel.setAlignment(Qt.AlignmentFlag.AlignCenter)
self.verticalLayout.addWidget(self.loadedFileLabel) self.verticalLayout.addWidget(self.loadedFileLabel)

View File

@ -344,7 +344,7 @@ class CircularSolid(pg.GraphicsObject, ParamObj):
return self.path return self.path
def paint(self, p, *args): def paint(self, p, *args):
p.setRenderHints(p.renderHints() | p.Antialiasing) p.setRenderHints(p.renderHints() | p.RenderHint.Antialiasing)
p.setPen(self.pen) p.setPen(self.pen)
p.fillPath(self.path, self.brush) p.fillPath(self.path, self.brush)
p.drawPath(self.path) p.drawPath(self.path)
@ -512,8 +512,8 @@ class Ray(pg.GraphicsObject, ParamObj):
def paint(self, p, *args): def paint(self, p, *args):
#p.setPen(pg.mkPen((255,0,0, 150))) #p.setPen(pg.mkPen((255,0,0, 150)))
p.setRenderHints(p.renderHints() | p.Antialiasing) p.setRenderHints(p.renderHints() | p.RenderHint.Antialiasing)
p.setCompositionMode(p.CompositionMode_Plus) p.setCompositionMode(p.CompositionMode.CompositionMode_Plus)
p.setPen(wlPen(self['wl'])) p.setPen(wlPen(self['wl']))
p.drawPath(self.path) p.drawPath(self.path)

View File

@ -57,14 +57,14 @@ class RelativityGUI(QtGui.QWidget):
self.layout.setContentsMargins(0,0,0,0) self.layout.setContentsMargins(0,0,0,0)
self.setLayout(self.layout) self.setLayout(self.layout)
self.splitter = QtGui.QSplitter() self.splitter = QtGui.QSplitter()
self.splitter.setOrientation(QtCore.Qt.Horizontal) self.splitter.setOrientation(QtCore.Qt.Orientation.Horizontal)
self.layout.addWidget(self.splitter) self.layout.addWidget(self.splitter)
self.tree = ParameterTree(showHeader=False) self.tree = ParameterTree(showHeader=False)
self.splitter.addWidget(self.tree) self.splitter.addWidget(self.tree)
self.splitter2 = QtGui.QSplitter() self.splitter2 = QtGui.QSplitter()
self.splitter2.setOrientation(QtCore.Qt.Vertical) self.splitter2.setOrientation(QtCore.Qt.Orientation.Vertical)
self.splitter.addWidget(self.splitter2) self.splitter.addWidget(self.splitter2)
self.worldlinePlots = pg.GraphicsLayoutWidget() self.worldlinePlots = pg.GraphicsLayoutWidget()

View File

@ -24,7 +24,7 @@ def format(color, style=''):
_format = QTextCharFormat() _format = QTextCharFormat()
_format.setForeground(_color) _format.setForeground(_color)
if 'bold' in style: if 'bold' in style:
_format.setFontWeight(QFont.Bold) _format.setFontWeight(QFont.Weight.Bold)
if 'italic' in style: if 'italic' in style:
_format.setFontItalic(True) _format.setFontItalic(True)

View File

@ -166,7 +166,7 @@ class GraphicsScene(QtGui.QGraphicsScene):
items = self.items(ev.scenePos()) items = self.items(ev.scenePos())
for i in items: for i in items:
if i.isEnabled() and i.isVisible() and (i.flags() & i.ItemIsFocusable): if i.isEnabled() and i.isVisible() and (i.flags() & i.ItemIsFocusable):
i.setFocus(QtCore.Qt.MouseFocusReason) i.setFocus(QtCore.Qt.FocusReason.MouseFocusReason)
break break
def _moveEventIsAllowed(self): def _moveEventIsAllowed(self):
@ -201,7 +201,7 @@ class GraphicsScene(QtGui.QGraphicsScene):
now = ptime.time() now = ptime.time()
init = False init = False
## keep track of which buttons are involved in dragging ## keep track of which buttons are involved in dragging
for btn in [QtCore.Qt.LeftButton, QtCore.Qt.MiddleButton, QtCore.Qt.RightButton]: for btn in [QtCore.Qt.MouseButton.LeftButton, QtCore.Qt.MouseButton.MiddleButton, QtCore.Qt.MouseButton.RightButton]:
if not (ev.buttons() & btn): if not (ev.buttons() & btn):
continue continue
if btn not in self.dragButtons: ## see if we've dragged far enough yet if btn not in self.dragButtons: ## see if we've dragged far enough yet
@ -304,9 +304,9 @@ class GraphicsScene(QtGui.QGraphicsScene):
# Update last hover event unless: # Update last hover event unless:
# - mouse is dragging (move+buttons); in this case we want the dragged # - mouse is dragging (move+buttons); in this case we want the dragged
# item to continue receiving events until the drag is over # item to continue receiving events until the drag is over
# - event is not a mouse event (QEvent.Leave sometimes appears here) # - event is not a mouse event (QEvent.Type.Leave sometimes appears here)
if (ev.type() == ev.GraphicsSceneMousePress or if (ev.type() == ev.Type.GraphicsSceneMousePress or
(ev.type() == ev.GraphicsSceneMouseMove and not ev.buttons())): (ev.type() == ev.Type.GraphicsSceneMouseMove and not ev.buttons())):
self.lastHoverEvent = event ## save this so we can ask about accepted events later. self.lastHoverEvent = event ## save this so we can ask about accepted events later.
def sendDragEvent(self, ev, init=False, final=False): def sendDragEvent(self, ev, init=False, final=False):
@ -345,7 +345,7 @@ class GraphicsScene(QtGui.QGraphicsScene):
#print " --> accepted" #print " --> accepted"
self.dragItem = item self.dragItem = item
if item.flags() & item.ItemIsFocusable: if item.flags() & item.ItemIsFocusable:
item.setFocus(QtCore.Qt.MouseFocusReason) item.setFocus(QtCore.Qt.FocusReason.MouseFocusReason)
break break
elif self.dragItem is not None: elif self.dragItem is not None:
event.currentItem = self.dragItem event.currentItem = self.dragItem
@ -390,7 +390,7 @@ class GraphicsScene(QtGui.QGraphicsScene):
if ev.isAccepted(): if ev.isAccepted():
if item.flags() & item.ItemIsFocusable: if item.flags() & item.ItemIsFocusable:
item.setFocus(QtCore.Qt.MouseFocusReason) item.setFocus(QtCore.Qt.FocusReason.MouseFocusReason)
break break
self.sigMouseClicked.emit(ev) self.sigMouseClicked.emit(ev)
return ev.isAccepted() return ev.isAccepted()
@ -419,7 +419,7 @@ class GraphicsScene(QtGui.QGraphicsScene):
item = QtGui.QGraphicsScene.itemAt(self, *args) item = QtGui.QGraphicsScene.itemAt(self, *args)
return self.translateGraphicsItem(item) return self.translateGraphicsItem(item)
def itemsNearEvent(self, event, selMode=QtCore.Qt.IntersectsItemShape, sortOrder=QtCore.Qt.DescendingOrder, hoverable=False): def itemsNearEvent(self, event, selMode=QtCore.Qt.ItemSelectionMode.IntersectsItemShape, sortOrder=QtCore.Qt.SortOrder.DescendingOrder, hoverable=False):
""" """
Return an iterator that iterates first through the items that directly intersect point (in Z order) Return an iterator that iterates first through the items that directly intersect point (in Z order)
followed by any other items that are within the scene's click radius. followed by any other items that are within the scene's click radius.

View File

@ -25,7 +25,7 @@ class ExportDialog(QtGui.QWidget):
self.scene = scene self.scene = scene
self.selectBox = QtGui.QGraphicsRectItem() self.selectBox = QtGui.QGraphicsRectItem()
self.selectBox.setPen(fn.mkPen('y', width=3, style=QtCore.Qt.DashLine)) self.selectBox.setPen(fn.mkPen('y', width=3, style=QtCore.Qt.PenStyle.DashLine))
self.selectBox.hide() self.selectBox.hide()
self.scene.addItem(self.selectBox) self.scene.addItem(self.selectBox)

View File

@ -18,7 +18,7 @@ class MouseDragEvent(object):
self.currentItem = None self.currentItem = None
self._buttonDownScenePos = {} self._buttonDownScenePos = {}
self._buttonDownScreenPos = {} self._buttonDownScreenPos = {}
for btn in [QtCore.Qt.LeftButton, QtCore.Qt.MiddleButton, QtCore.Qt.RightButton]: for btn in [QtCore.Qt.MouseButton.LeftButton, QtCore.Qt.MouseButton.MiddleButton, QtCore.Qt.MouseButton.RightButton]:
self._buttonDownScenePos[btn] = moveEvent.buttonDownScenePos(btn) self._buttonDownScenePos[btn] = moveEvent.buttonDownScenePos(btn)
self._buttonDownScreenPos[btn] = moveEvent.buttonDownScreenPos(btn) self._buttonDownScreenPos[btn] = moveEvent.buttonDownScreenPos(btn)
self._scenePos = moveEvent.scenePos() self._scenePos = moveEvent.scenePos()

View File

@ -11,7 +11,6 @@ This module exists to smooth out some of the differences between PySide and PyQt
""" """
import os, sys, re, time, subprocess, warnings import os, sys, re, time, subprocess, warnings
import enum
from .python2_3 import asUnicode from .python2_3 import asUnicode
@ -329,34 +328,6 @@ if QT_LIB == PYSIDE6:
if QT_LIB == PYQT6: if QT_LIB == PYQT6:
# module.Class.EnumClass.Enum -> module.Class.Enum
def promote_enums(module):
class_names = [x for x in dir(module) if x.startswith('Q')]
for class_name in class_names:
klass = getattr(module, class_name)
if not isinstance(klass, sip.wrappertype):
continue
attrib_names = [x for x in dir(klass) if x[0].isupper()]
for attrib_name in attrib_names:
attrib = getattr(klass, attrib_name)
if not isinstance(attrib, enum.EnumMeta):
continue
for e in attrib:
setattr(klass, e.name, e)
promote_enums(QtCore)
promote_enums(QtGui)
promote_enums(QtWidgets)
# QKeyEvent::key() returns an int
# so comparison with a Key_* enum will always be False
# here we convert the enum to its int value
keys = ['Up', 'Down', 'Right', 'Left', 'Return', 'Enter', 'Delete', 'Backspace',
'PageUp', 'PageDown', 'Home', 'End', 'Tab', 'Backtab', 'Escape', 'Space']
for name in keys:
e = getattr(QtCore.Qt.Key, 'Key_' + name)
setattr(QtCore.Qt, e.name, e.value)
# shim the old names for QPointF mouse coords # shim the old names for QPointF mouse coords
QtGui.QSinglePointEvent.localPos = lambda o : o.position() QtGui.QSinglePointEvent.localPos = lambda o : o.position()
QtGui.QSinglePointEvent.windowPos = lambda o : o.scenePosition() QtGui.QSinglePointEvent.windowPos = lambda o : o.scenePosition()

View File

@ -16,8 +16,8 @@ class ThreadsafeTimer(QtCore.QObject):
self.timer.timeout.connect(self.timerFinished) self.timer.timeout.connect(self.timerFinished)
self.timer.moveToThread(QtCore.QCoreApplication.instance().thread()) self.timer.moveToThread(QtCore.QCoreApplication.instance().thread())
self.moveToThread(QtCore.QCoreApplication.instance().thread()) self.moveToThread(QtCore.QCoreApplication.instance().thread())
self.sigTimerStopRequested.connect(self.stop, QtCore.Qt.QueuedConnection) self.sigTimerStopRequested.connect(self.stop, QtCore.Qt.ConnectionType.QueuedConnection)
self.sigTimerStartRequested.connect(self.start, QtCore.Qt.QueuedConnection) self.sigTimerStartRequested.connect(self.start, QtCore.Qt.ConnectionType.QueuedConnection)
def start(self, timeout): def start(self, timeout):

View File

@ -31,7 +31,7 @@ class Canvas(QtGui.QWidget):
self.view = ViewBox() self.view = ViewBox()
self.ui.view.setCentralItem(self.view) self.ui.view.setCentralItem(self.view)
self.itemList = self.ui.itemList self.itemList = self.ui.itemList
self.itemList.setSelectionMode(self.itemList.ExtendedSelection) self.itemList.setSelectionMode(self.itemList.SelectionMode.ExtendedSelection)
self.allowTransforms = allowTransforms self.allowTransforms = allowTransforms
self.multiSelectBox = SelectBox() self.multiSelectBox = SelectBox()
self.view.addItem(self.multiSelectBox) self.view.addItem(self.multiSelectBox)
@ -165,13 +165,13 @@ class Canvas(QtGui.QWidget):
citem = item.canvasItem() citem = item.canvasItem()
except AttributeError: except AttributeError:
return return
if item.checkState(0) == QtCore.Qt.Checked: if item.checkState(0) == QtCore.Qt.CheckState.Checked:
for i in range(item.childCount()): for i in range(item.childCount()):
item.child(i).setCheckState(0, QtCore.Qt.Checked) item.child(i).setCheckState(0, QtCore.Qt.CheckState.Checked)
citem.show() citem.show()
else: else:
for i in range(item.childCount()): for i in range(item.childCount()):
item.child(i).setCheckState(0, QtCore.Qt.Unchecked) item.child(i).setCheckState(0, QtCore.Qt.CheckState.Unchecked)
citem.hide() citem.hide()
def treeItemSelected(self): def treeItemSelected(self):
@ -344,14 +344,14 @@ class Canvas(QtGui.QWidget):
insertLocation = i+1 insertLocation = i+1
node = QtGui.QTreeWidgetItem([name]) node = QtGui.QTreeWidgetItem([name])
flags = node.flags() | QtCore.Qt.ItemIsUserCheckable | QtCore.Qt.ItemIsDragEnabled flags = node.flags() | QtCore.Qt.ItemFlag.ItemIsUserCheckable | QtCore.Qt.ItemFlag.ItemIsDragEnabled
if not isinstance(citem, GroupCanvasItem): if not isinstance(citem, GroupCanvasItem):
flags = flags & ~QtCore.Qt.ItemIsDropEnabled flags = flags & ~QtCore.Qt.ItemFlag.ItemIsDropEnabled
node.setFlags(flags) node.setFlags(flags)
if citem.opts['visible']: if citem.opts['visible']:
node.setCheckState(0, QtCore.Qt.Checked) node.setCheckState(0, QtCore.Qt.CheckState.Checked)
else: else:
node.setCheckState(0, QtCore.Qt.Unchecked) node.setCheckState(0, QtCore.Qt.CheckState.Unchecked)
node.name = name node.name = name
parent.insertChild(insertLocation, node) parent.insertChild(insertLocation, node)
@ -391,13 +391,13 @@ class Canvas(QtGui.QWidget):
def itemVisibilityChanged(self, item): def itemVisibilityChanged(self, item):
listItem = item.listItem listItem = item.listItem
checked = listItem.checkState(0) == QtCore.Qt.Checked checked = listItem.checkState(0) == QtCore.Qt.CheckState.Checked
vis = item.isVisible() vis = item.isVisible()
if vis != checked: if vis != checked:
if vis: if vis:
listItem.setCheckState(0, QtCore.Qt.Checked) listItem.setCheckState(0, QtCore.Qt.CheckState.Checked)
else: else:
listItem.setCheckState(0, QtCore.Qt.Unchecked) listItem.setCheckState(0, QtCore.Qt.CheckState.Unchecked)
def removeItem(self, item): def removeItem(self, item):
if isinstance(item, QtGui.QTreeWidgetItem): if isinstance(item, QtGui.QTreeWidgetItem):

View File

@ -66,7 +66,7 @@ class CanvasItem(QtCore.QObject):
self.alphaLabel = QtGui.QLabel(translate("CanvasItem", "Alpha")) self.alphaLabel = QtGui.QLabel(translate("CanvasItem", "Alpha"))
self.alphaSlider = QtGui.QSlider() self.alphaSlider = QtGui.QSlider()
self.alphaSlider.setMaximum(1023) self.alphaSlider.setMaximum(1023)
self.alphaSlider.setOrientation(QtCore.Qt.Horizontal) self.alphaSlider.setOrientation(QtCore.Qt.Orientation.Horizontal)
self.alphaSlider.setValue(1023) self.alphaSlider.setValue(1023)
self.layout.addWidget(self.alphaLabel, 0, 0) self.layout.addWidget(self.alphaLabel, 0, 0)
self.layout.addWidget(self.alphaSlider, 0, 1) self.layout.addWidget(self.alphaSlider, 0, 1)

View File

@ -28,20 +28,20 @@ class Ui_Form(object):
self.gridLayout_2.setObjectName(u"gridLayout_2") self.gridLayout_2.setObjectName(u"gridLayout_2")
self.splitter = QSplitter(Form) self.splitter = QSplitter(Form)
self.splitter.setObjectName(u"splitter") self.splitter.setObjectName(u"splitter")
self.splitter.setOrientation(Qt.Horizontal) self.splitter.setOrientation(Qt.Orientation.Horizontal)
self.view = GraphicsView(self.splitter) self.view = GraphicsView(self.splitter)
self.view.setObjectName(u"view") self.view.setObjectName(u"view")
self.splitter.addWidget(self.view) self.splitter.addWidget(self.view)
self.vsplitter = QSplitter(self.splitter) self.vsplitter = QSplitter(self.splitter)
self.vsplitter.setObjectName(u"vsplitter") self.vsplitter.setObjectName(u"vsplitter")
self.vsplitter.setOrientation(Qt.Vertical) self.vsplitter.setOrientation(Qt.Orientation.Vertical)
self.canvasCtrlWidget = QWidget(self.vsplitter) self.canvasCtrlWidget = QWidget(self.vsplitter)
self.canvasCtrlWidget.setObjectName(u"canvasCtrlWidget") self.canvasCtrlWidget.setObjectName(u"canvasCtrlWidget")
self.gridLayout = QGridLayout(self.canvasCtrlWidget) self.gridLayout = QGridLayout(self.canvasCtrlWidget)
self.gridLayout.setObjectName(u"gridLayout") self.gridLayout.setObjectName(u"gridLayout")
self.autoRangeBtn = QPushButton(self.canvasCtrlWidget) self.autoRangeBtn = QPushButton(self.canvasCtrlWidget)
self.autoRangeBtn.setObjectName(u"autoRangeBtn") self.autoRangeBtn.setObjectName(u"autoRangeBtn")
sizePolicy = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed) sizePolicy = QSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Fixed)
sizePolicy.setHorizontalStretch(0) sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(1) sizePolicy.setVerticalStretch(1)
sizePolicy.setHeightForWidth(self.autoRangeBtn.sizePolicy().hasHeightForWidth()) sizePolicy.setHeightForWidth(self.autoRangeBtn.sizePolicy().hasHeightForWidth())
@ -70,7 +70,7 @@ class Ui_Form(object):
__qtreewidgetitem.setText(0, u"1"); __qtreewidgetitem.setText(0, u"1");
self.itemList.setHeaderItem(__qtreewidgetitem) self.itemList.setHeaderItem(__qtreewidgetitem)
self.itemList.setObjectName(u"itemList") self.itemList.setObjectName(u"itemList")
sizePolicy1 = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) sizePolicy1 = QSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding)
sizePolicy1.setHorizontalStretch(0) sizePolicy1.setHorizontalStretch(0)
sizePolicy1.setVerticalStretch(100) sizePolicy1.setVerticalStretch(100)
sizePolicy1.setHeightForWidth(self.itemList.sizePolicy().hasHeightForWidth()) sizePolicy1.setHeightForWidth(self.itemList.sizePolicy().hasHeightForWidth())

View File

@ -18,7 +18,7 @@ class Ui_Form(object):
if not Form.objectName(): if not Form.objectName():
Form.setObjectName(u"Form") Form.setObjectName(u"Form")
Form.resize(224, 117) Form.resize(224, 117)
sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred) sizePolicy = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Preferred)
sizePolicy.setHorizontalStretch(0) sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0) sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(Form.sizePolicy().hasHeightForWidth()) sizePolicy.setHeightForWidth(Form.sizePolicy().hasHeightForWidth())

View File

@ -541,7 +541,7 @@ class ColorMap(object):
color = np.concatenate( (col_n, col_p) ) color = np.concatenate( (col_n, col_p) )
grad.setStops(list(zip(pos, color))) grad.setStops(list(zip(pos, color)))
if self.mapping_mode == self.REPEAT: if self.mapping_mode == self.REPEAT:
grad.setSpread( QtGui.QGradient.RepeatSpread ) grad.setSpread( QtGui.QGradient.Spread.RepeatSpread )
return grad return grad
def getBrush(self, span=(0.,1.), orientation='vertical'): def getBrush(self, span=(0.,1.), orientation='vertical'):

View File

@ -11,17 +11,17 @@ class CmdInput(QtGui.QLineEdit):
self.ptr = 0 self.ptr = 0
def keyPressEvent(self, ev): def keyPressEvent(self, ev):
if ev.key() == QtCore.Qt.Key_Up: if ev.key() == QtCore.Qt.Key.Key_Up:
if self.ptr < len(self.history) - 1: if self.ptr < len(self.history) - 1:
self.setHistory(self.ptr+1) self.setHistory(self.ptr+1)
ev.accept() ev.accept()
return return
elif ev.key() == QtCore.Qt.Key_Down: elif ev.key() == QtCore.Qt.Key.Key_Down:
if self.ptr > 0: if self.ptr > 0:
self.setHistory(self.ptr-1) self.setHistory(self.ptr-1)
ev.accept() ev.accept()
return return
elif ev.key() == QtCore.Qt.Key_Return: elif ev.key() == QtCore.Qt.Key.Key_Return:
self.execCmd() self.execCmd()
else: else:
super().keyPressEvent(ev) super().keyPressEvent(ev)

View File

@ -230,7 +230,7 @@ class ConsoleWidget(QtGui.QWidget):
atBottom = scroll == sb.maximum() atBottom = scroll == sb.maximum()
scrollToBottom = atBottom scrollToBottom = atBottom
self.output.moveCursor(QtGui.QTextCursor.End) self.output.moveCursor(QtGui.QTextCursor.MoveOperation.End)
if html: if html:
self.output.textCursor().insertHtml(strn) self.output.textCursor().insertHtml(strn)
else: else:

View File

@ -26,7 +26,7 @@ class Ui_Form(object):
self.gridLayout.setObjectName(u"gridLayout") self.gridLayout.setObjectName(u"gridLayout")
self.splitter = QSplitter(Form) self.splitter = QSplitter(Form)
self.splitter.setObjectName(u"splitter") self.splitter.setObjectName(u"splitter")
self.splitter.setOrientation(Qt.Vertical) self.splitter.setOrientation(Qt.Orientation.Vertical)
self.layoutWidget = QWidget(self.splitter) self.layoutWidget = QWidget(self.splitter)
self.layoutWidget.setObjectName(u"layoutWidget") self.layoutWidget.setObjectName(u"layoutWidget")
self.verticalLayout = QVBoxLayout(self.layoutWidget) self.verticalLayout = QVBoxLayout(self.layoutWidget)
@ -117,7 +117,7 @@ class Ui_Form(object):
self.gridLayout_2.addWidget(self.exceptionInfoLabel, 1, 0, 1, 7) self.gridLayout_2.addWidget(self.exceptionInfoLabel, 1, 0, 1, 7)
self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
self.gridLayout_2.addItem(self.horizontalSpacer, 0, 5, 1, 1) self.gridLayout_2.addItem(self.horizontalSpacer, 0, 5, 1, 1)

View File

@ -149,7 +149,7 @@ class SplitContainer(Container, QtGui.QSplitter):
class HContainer(SplitContainer): class HContainer(SplitContainer):
def __init__(self, area): def __init__(self, area):
SplitContainer.__init__(self, area, QtCore.Qt.Horizontal) SplitContainer.__init__(self, area, QtCore.Qt.Orientation.Horizontal)
def type(self): def type(self):
return 'horizontal' return 'horizontal'
@ -180,7 +180,7 @@ class HContainer(SplitContainer):
class VContainer(SplitContainer): class VContainer(SplitContainer):
def __init__(self, area): def __init__(self, area):
SplitContainer.__init__(self, area, QtCore.Qt.Vertical) SplitContainer.__init__(self, area, QtCore.Qt.Orientation.Vertical)
def type(self): def type(self):
return 'vertical' return 'vertical'
@ -254,7 +254,7 @@ class TContainer(Container, QtGui.QWidget):
self.tabClicked(item.label) self.tabClicked(item.label)
def tabClicked(self, tab, ev=None): def tabClicked(self, tab, ev=None):
if ev is None or ev.button() == QtCore.Qt.LeftButton: if ev is None or ev.button() == QtCore.Qt.MouseButton.LeftButton:
for i in range(self.count()): for i in range(self.count()):
w = self.widget(i) w = self.widget(i)
if w is tab.dock: if w is tab.dock:

View File

@ -24,7 +24,7 @@ class Dock(QtGui.QWidget, DockDrop):
self.moveLabel = True ## If false, the dock is no longer allowed to move the label. self.moveLabel = True ## If false, the dock is no longer allowed to move the label.
self.autoOrient = autoOrientation self.autoOrient = autoOrientation
self.orientation = 'horizontal' self.orientation = 'horizontal'
#self.label.setAlignment(QtCore.Qt.AlignHCenter) #self.label.setAlignment(QtCore.Qt.AlignmentFlag.AlignHCenter)
self.topLayout = QtGui.QGridLayout() self.topLayout = QtGui.QGridLayout()
self.topLayout.setContentsMargins(0, 0, 0, 0) self.topLayout.setContentsMargins(0, 0, 0, 0)
self.topLayout.setSpacing(0) self.topLayout.setSpacing(0)
@ -36,7 +36,7 @@ class Dock(QtGui.QWidget, DockDrop):
self.layout.setContentsMargins(0, 0, 0, 0) self.layout.setContentsMargins(0, 0, 0, 0)
self.layout.setSpacing(0) self.layout.setSpacing(0)
self.widgetArea.setLayout(self.layout) self.widgetArea.setLayout(self.layout)
self.widgetArea.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) self.widgetArea.setSizePolicy(QtGui.QSizePolicy.Policy.Expanding, QtGui.QSizePolicy.Policy.Expanding)
self.widgets = [] self.widgets = []
self._container = None self._container = None
self.currentRow = 0 self.currentRow = 0
@ -265,7 +265,7 @@ class DockLabel(VerticalLabel):
self.fixedWidth = False self.fixedWidth = False
self.fontSize = fontSize self.fontSize = fontSize
VerticalLabel.__init__(self, text, orientation='horizontal', forceWidth=False) VerticalLabel.__init__(self, text, orientation='horizontal', forceWidth=False)
self.setAlignment(QtCore.Qt.AlignTop|QtCore.Qt.AlignHCenter) self.setAlignment(QtCore.Qt.AlignmentFlag.AlignTop|QtCore.Qt.AlignmentFlag.AlignHCenter)
self.dock = dock self.dock = dock
self.updateStyle() self.updateStyle()
self.setAutoFillBackground(False) self.setAutoFillBackground(False)
@ -275,7 +275,7 @@ class DockLabel(VerticalLabel):
if showCloseButton: if showCloseButton:
self.closeButton = QtGui.QToolButton(self) self.closeButton = QtGui.QToolButton(self)
self.closeButton.clicked.connect(self.sigCloseClicked) self.closeButton.clicked.connect(self.sigCloseClicked)
self.closeButton.setIcon(QtGui.QApplication.style().standardIcon(QtGui.QStyle.SP_TitleBarCloseButton)) self.closeButton.setIcon(QtGui.QApplication.style().standardIcon(QtGui.QStyle.StandardPixmap.SP_TitleBarCloseButton))
def updateStyle(self): def updateStyle(self):
r = '3px' r = '3px'
@ -339,7 +339,7 @@ class DockLabel(VerticalLabel):
lpos = ev.position() if hasattr(ev, 'position') else ev.localPos() lpos = ev.position() if hasattr(ev, 'position') else ev.localPos()
self.mouseMoved = (lpos - self.pressPos).manhattanLength() > QtGui.QApplication.startDragDistance() self.mouseMoved = (lpos - self.pressPos).manhattanLength() > QtGui.QApplication.startDragDistance()
if self.mouseMoved and ev.buttons() == QtCore.Qt.LeftButton: if self.mouseMoved and ev.buttons() == QtCore.Qt.MouseButton.LeftButton:
self.dock.startDrag() self.dock.startDrag()
ev.accept() ev.accept()
@ -349,7 +349,7 @@ class DockLabel(VerticalLabel):
self.sigClicked.emit(self, ev) self.sigClicked.emit(self, ev)
def mouseDoubleClickEvent(self, ev): def mouseDoubleClickEvent(self, ev):
if ev.button() == QtCore.Qt.LeftButton: if ev.button() == QtCore.Qt.MouseButton.LeftButton:
self.dock.float() self.dock.float()
def resizeEvent (self, ev): def resizeEvent (self, ev):

View File

@ -91,7 +91,7 @@ class DropAreaOverlay(QtGui.QWidget):
QtGui.QWidget.__init__(self, parent) QtGui.QWidget.__init__(self, parent)
self.dropArea = None self.dropArea = None
self.hide() self.hide()
self.setAttribute(QtCore.Qt.WA_TransparentForMouseEvents) self.setAttribute(QtCore.Qt.WidgetAttribute.WA_TransparentForMouseEvents)
def setDropArea(self, area): def setDropArea(self, area):
self.dropArea = area self.dropArea = area

View File

@ -45,8 +45,8 @@ class Exporter(object):
if opts is None: if opts is None:
opts = {} opts = {}
self.fileDialog = FileDialog() self.fileDialog = FileDialog()
self.fileDialog.setFileMode(QtGui.QFileDialog.AnyFile) self.fileDialog.setFileMode(QtGui.QFileDialog.FileMode.AnyFile)
self.fileDialog.setAcceptMode(QtGui.QFileDialog.AcceptSave) self.fileDialog.setAcceptMode(QtGui.QFileDialog.AcceptMode.AcceptSave)
if filter is not None: if filter is not None:
if isinstance(filter, basestring): if isinstance(filter, basestring):
self.fileDialog.setNameFilter(filter) self.fileDialog.setNameFilter(filter)

View File

@ -20,7 +20,7 @@ class ImageExporter(Exporter):
scene = item scene = item
bgbrush = scene.views()[0].backgroundBrush() bgbrush = scene.views()[0].backgroundBrush()
bg = bgbrush.color() bg = bgbrush.color()
if bgbrush.style() == QtCore.Qt.NoBrush: if bgbrush.style() == QtCore.Qt.BrushStyle.NoBrush:
bg.setAlpha(0) bg.setAlpha(0)
self.params = Parameter(name='params', type='group', children=[ self.params = Parameter(name='params', type='group', children=[
@ -97,7 +97,7 @@ class ImageExporter(Exporter):
'background': self.params['background'], 'background': self.params['background'],
'painter': painter, 'painter': painter,
'resolutionScale': resolutionScale}) 'resolutionScale': resolutionScale})
painter.setRenderHint(QtGui.QPainter.Antialiasing, self.params['antialias']) painter.setRenderHint(QtGui.QPainter.RenderHint.Antialiasing, self.params['antialias'])
self.getScene().render(painter, QtCore.QRectF(targetRect), QtCore.QRectF(sourceRect)) self.getScene().render(painter, QtCore.QRectF(targetRect), QtCore.QRectF(sourceRect))
finally: finally:
self.setExportMode(False) self.setExportMode(False)

View File

@ -91,7 +91,7 @@ class MatplotlibExporter(Exporter):
opts = item.opts opts = item.opts
pen = fn.mkPen(opts['pen']) pen = fn.mkPen(opts['pen'])
if pen.style() == QtCore.Qt.NoPen: if pen.style() == QtCore.Qt.PenStyle.NoPen:
linestyle = '' linestyle = ''
else: else:
linestyle = '-' linestyle = '-'

View File

@ -39,7 +39,7 @@ class PrintExporter(Exporter):
printer = QtGui.QPrinter(QtGui.QPrinter.HighResolution) printer = QtGui.QPrinter(QtGui.QPrinter.HighResolution)
dialog = QtGui.QPrintDialog(printer) dialog = QtGui.QPrintDialog(printer)
dialog.setWindowTitle(translate('Exporter', "Print Document")) dialog.setWindowTitle(translate('Exporter', "Print Document"))
if dialog.exec_() != QtGui.QDialog.Accepted: if dialog.exec_() != QtGui.QDialog.DialogCode.Accepted:
return return
#dpi = QtGui.QDesktopWidget().physicalDpiX() #dpi = QtGui.QDesktopWidget().physicalDpiX()

View File

@ -26,7 +26,7 @@ class SVGExporter(Exporter):
scene = item scene = item
bgbrush = scene.views()[0].backgroundBrush() bgbrush = scene.views()[0].backgroundBrush()
bg = bgbrush.color() bg = bgbrush.color()
if bgbrush.style() == QtCore.Qt.NoBrush: if bgbrush.style() == QtCore.Qt.BrushStyle.NoBrush:
bg.setAlpha(0) bg.setAlpha(0)
self.params = Parameter(name='params', type='group', children=[ self.params = Parameter(name='params', type='group', children=[
@ -207,7 +207,7 @@ def _generateItemSvg(item, nodes=None, root=None, options={}):
try: try:
p.setTransform(tr) p.setTransform(tr)
opt = QtGui.QStyleOptionGraphicsItem() opt = QtGui.QStyleOptionGraphicsItem()
if item.flags() & QtGui.QGraphicsItem.ItemUsesExtendedStyleOption: if item.flags() & QtGui.QGraphicsItem.GraphicsItemFlag.ItemUsesExtendedStyleOption:
opt.exposedRect = item.boundingRect() opt.exposedRect = item.boundingRect()
item.paint(p, opt, None) item.paint(p, opt, None)
finally: finally:
@ -253,7 +253,7 @@ def _generateItemSvg(item, nodes=None, root=None, options={}):
childGroup = g1 ## add children directly to this node unless we are clipping childGroup = g1 ## add children directly to this node unless we are clipping
if not isinstance(item, QtGui.QGraphicsScene): if not isinstance(item, QtGui.QGraphicsScene):
## See if this item clips its children ## See if this item clips its children
if item.flags() & item.ItemClipsChildrenToShape: if item.flags() & item.GraphicsItemFlag.ItemClipsChildrenToShape:
## Generate svg for just the path ## Generate svg for just the path
path = QtGui.QGraphicsPathItem(item.mapToScene(item.shape())) path = QtGui.QGraphicsPathItem(item.mapToScene(item.shape()))
item.scene().addItem(path) item.scene().addItem(path)
@ -416,7 +416,7 @@ def itemTransform(item, root):
return tr return tr
if item.flags() & item.ItemIgnoresTransformations: if item.flags() & item.GraphicsItemFlag.ItemIgnoresTransformations:
pos = item.pos() pos = item.pos()
parent = item.parentItem() parent = item.parentItem()
if parent is not None: if parent is not None:
@ -433,7 +433,7 @@ def itemTransform(item, root):
if nextRoot is None: if nextRoot is None:
nextRoot = root nextRoot = root
break break
if nextRoot is root or (nextRoot.flags() & nextRoot.ItemIgnoresTransformations): if nextRoot is root or (nextRoot.flags() & nextRoot.GraphicsItemFlag.ItemIgnoresTransformations):
break break
if isinstance(nextRoot, QtGui.QGraphicsScene): if isinstance(nextRoot, QtGui.QGraphicsScene):

View File

@ -528,7 +528,7 @@ class Flowchart(Node):
startDir = '.' startDir = '.'
self.fileDialog = FileDialog(None, "Save Flowchart..", startDir, "Flowchart (*.fc)") self.fileDialog = FileDialog(None, "Save Flowchart..", startDir, "Flowchart (*.fc)")
self.fileDialog.setDefaultSuffix("fc") self.fileDialog.setDefaultSuffix("fc")
self.fileDialog.setAcceptMode(QtGui.QFileDialog.AcceptSave) self.fileDialog.setAcceptMode(QtGui.QFileDialog.AcceptMode.AcceptSave)
self.fileDialog.show() self.fileDialog.show()
self.fileDialog.fileSelected.connect(self.saveFile) self.fileDialog.fileSelected.connect(self.saveFile)
return return
@ -605,8 +605,8 @@ class FlowchartCtrlWidget(QtGui.QWidget):
self.ui.ctrlList.setColumnCount(2) self.ui.ctrlList.setColumnCount(2)
#self.ui.ctrlList.setColumnWidth(0, 200) #self.ui.ctrlList.setColumnWidth(0, 200)
self.ui.ctrlList.setColumnWidth(1, 20) self.ui.ctrlList.setColumnWidth(1, 20)
self.ui.ctrlList.setVerticalScrollMode(self.ui.ctrlList.ScrollPerPixel) self.ui.ctrlList.setVerticalScrollMode(self.ui.ctrlList.ScrollMode.ScrollPerPixel)
self.ui.ctrlList.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) self.ui.ctrlList.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOff)
self.chartWidget = FlowchartWidget(chart, self) self.chartWidget = FlowchartWidget(chart, self)
#self.chartWidget.viewBox().autoRange() #self.chartWidget.viewBox().autoRange()
@ -765,7 +765,7 @@ class FlowchartWidget(dockarea.DockArea):
self.ctrl = ctrl self.ctrl = ctrl
self.hoverItem = None self.hoverItem = None
#self.setMinimumWidth(250) #self.setMinimumWidth(250)
#self.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Expanding)) #self.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.Policy.Preferred, QtGui.QSizePolicy.Policy.Expanding))
#self.ui = FlowchartTemplate.Ui_Form() #self.ui = FlowchartTemplate.Ui_Form()
#self.ui.setupUi(self) #self.ui.setupUi(self)
@ -791,7 +791,7 @@ class FlowchartWidget(dockarea.DockArea):
self.selNameLabel = QtGui.QLabel() self.selNameLabel = QtGui.QLabel()
self.selDescLabel.setWordWrap(True) self.selDescLabel.setWordWrap(True)
self.selectedTree = DataTreeWidget() self.selectedTree = DataTreeWidget()
#self.selectedTree.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded) #self.selectedTree.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarPolicy.ScrollBarAsNeeded)
#self.selInfoLayout.addWidget(self.selNameLabel) #self.selInfoLayout.addWidget(self.selNameLabel)
self.selInfoLayout.addWidget(self.selDescLabel) self.selInfoLayout.addWidget(self.selDescLabel)
self.selInfoLayout.addWidget(self.selectedTree) self.selInfoLayout.addWidget(self.selectedTree)
@ -846,7 +846,7 @@ class FlowchartWidget(dockarea.DockArea):
def showViewMenu(self, ev): def showViewMenu(self, ev):
#QtGui.QPushButton.mouseReleaseEvent(self.ui.addNodeBtn, ev) #QtGui.QPushButton.mouseReleaseEvent(self.ui.addNodeBtn, ev)
#if ev.button() == QtCore.Qt.RightButton: #if ev.button() == QtCore.Qt.MouseButton.RightButton:
#self.menuPos = self.view.mapToScene(ev.pos()) #self.menuPos = self.view.mapToScene(ev.pos())
#self.nodeMenu.popup(ev.globalPos()) #self.nodeMenu.popup(ev.globalPos())
#print "Flowchart.showViewMenu called" #print "Flowchart.showViewMenu called"

View File

@ -68,7 +68,7 @@ class Ui_Form(object):
font = QFont() font = QFont()
font.setBold(True) font.setBold(True)
self.fileNameLabel.setFont(font) self.fileNameLabel.setFont(font)
self.fileNameLabel.setAlignment(Qt.AlignCenter) self.fileNameLabel.setAlignment(Qt.AlignmentFlag.AlignCenter)
self.gridLayout.addWidget(self.fileNameLabel, 0, 1, 1, 1) self.gridLayout.addWidget(self.fileNameLabel, 0, 1, 1, 1)

View File

@ -15,7 +15,7 @@ class FlowchartGraphicsView(GraphicsView):
GraphicsView.__init__(self, *args, useOpenGL=False) GraphicsView.__init__(self, *args, useOpenGL=False)
self._vb = FlowchartViewBox(widget, lockAspect=True, invertY=True) self._vb = FlowchartViewBox(widget, lockAspect=True, invertY=True)
self.setCentralItem(self._vb) self.setCentralItem(self._vb)
self.setRenderHint(QtGui.QPainter.Antialiasing, True) self.setRenderHint(QtGui.QPainter.RenderHint.Antialiasing, True)
def viewBox(self): def viewBox(self):
return self._vb return self._vb

View File

@ -28,7 +28,7 @@ class Ui_Form(object):
self.gridLayout.setObjectName(u"gridLayout") self.gridLayout.setObjectName(u"gridLayout")
self.selDescLabel = QLabel(self.selInfoWidget) self.selDescLabel = QLabel(self.selInfoWidget)
self.selDescLabel.setObjectName(u"selDescLabel") self.selDescLabel.setObjectName(u"selDescLabel")
self.selDescLabel.setAlignment(Qt.AlignLeading|Qt.AlignLeft|Qt.AlignTop) self.selDescLabel.setAlignment(Qt.AlignLeading|Qt.AlignmentFlag.AlignLeft|Qt.AlignmentFlag.AlignTop)
self.selDescLabel.setWordWrap(True) self.selDescLabel.setWordWrap(True)
self.gridLayout.addWidget(self.selDescLabel, 0, 0, 1, 1) self.gridLayout.addWidget(self.selDescLabel, 0, 0, 1, 1)

View File

@ -455,7 +455,7 @@ class TextItem(QtWidgets.QGraphicsTextItem):
self.on_update() self.on_update()
def keyPressEvent(self, ev): def keyPressEvent(self, ev):
if ev.key() == QtCore.Qt.Key_Enter or ev.key() == QtCore.Qt.Key_Return: if ev.key() == QtCore.Qt.Key.Key_Enter or ev.key() == QtCore.Qt.Key.Key_Return:
if self.on_update is not None: if self.on_update is not None:
self.on_update() self.on_update()
return return
@ -482,7 +482,7 @@ class NodeGraphicsItem(GraphicsObject):
self.hovered = False self.hovered = False
self.node = node self.node = node
flags = self.ItemIsMovable | self.ItemIsSelectable | self.ItemIsFocusable |self.ItemSendsGeometryChanges flags = self.GraphicsItemFlag.ItemIsMovable | self.GraphicsItemFlag.ItemIsSelectable | self.GraphicsItemFlag.ItemIsFocusable | self.GraphicsItemFlag.ItemSendsGeometryChanges
#flags = self.ItemIsFocusable |self.ItemSendsGeometryChanges #flags = self.ItemIsFocusable |self.ItemSendsGeometryChanges
self.setFlags(flags) self.setFlags(flags)
@ -490,7 +490,7 @@ class NodeGraphicsItem(GraphicsObject):
self.nameItem = TextItem(self.node.name(), self, self.labelChanged) self.nameItem = TextItem(self.node.name(), self, self.labelChanged)
self.nameItem.setDefaultTextColor(QtGui.QColor(50, 50, 50)) self.nameItem.setDefaultTextColor(QtGui.QColor(50, 50, 50))
self.nameItem.moveBy(self.bounds.width()/2. - self.nameItem.boundingRect().width()/2., 0) self.nameItem.moveBy(self.bounds.width()/2. - self.nameItem.boundingRect().width()/2., 0)
self.nameItem.setTextInteractionFlags(QtCore.Qt.TextEditorInteraction) self.nameItem.setTextInteractionFlags(QtCore.Qt.TextInteractionFlag.TextEditorInteraction)
self.updateTerminals() self.updateTerminals()
#self.setZValue(10) #self.setZValue(10)
@ -587,7 +587,7 @@ class NodeGraphicsItem(GraphicsObject):
def mouseClickEvent(self, ev): def mouseClickEvent(self, ev):
#print "Node.mouseClickEvent called." #print "Node.mouseClickEvent called."
if ev.button() == QtCore.Qt.LeftButton: if ev.button() == QtCore.Qt.MouseButton.LeftButton:
ev.accept() ev.accept()
#print " ev.button: left" #print " ev.button: left"
sel = self.isSelected() sel = self.isSelected()
@ -600,7 +600,7 @@ class NodeGraphicsItem(GraphicsObject):
self.update() self.update()
#return ret #return ret
elif ev.button() == QtCore.Qt.RightButton: elif ev.button() == QtCore.Qt.MouseButton.RightButton:
#print " ev.button: right" #print " ev.button: right"
ev.accept() ev.accept()
#pos = ev.screenPos() #pos = ev.screenPos()
@ -609,20 +609,20 @@ class NodeGraphicsItem(GraphicsObject):
def mouseDragEvent(self, ev): def mouseDragEvent(self, ev):
#print "Node.mouseDrag" #print "Node.mouseDrag"
if ev.button() == QtCore.Qt.LeftButton: if ev.button() == QtCore.Qt.MouseButton.LeftButton:
ev.accept() ev.accept()
self.setPos(self.pos()+self.mapToParent(ev.pos())-self.mapToParent(ev.lastPos())) self.setPos(self.pos()+self.mapToParent(ev.pos())-self.mapToParent(ev.lastPos()))
def hoverEvent(self, ev): def hoverEvent(self, ev):
if not ev.isExit() and ev.acceptClicks(QtCore.Qt.LeftButton): if not ev.isExit() and ev.acceptClicks(QtCore.Qt.MouseButton.LeftButton):
ev.acceptDrags(QtCore.Qt.LeftButton) ev.acceptDrags(QtCore.Qt.MouseButton.LeftButton)
self.hovered = True self.hovered = True
else: else:
self.hovered = False self.hovered = False
self.update() self.update()
def keyPressEvent(self, ev): def keyPressEvent(self, ev):
if ev.key() == QtCore.Qt.Key_Delete or ev.key() == QtCore.Qt.Key_Backspace: if ev.key() == QtCore.Qt.Key.Key_Delete or ev.key() == QtCore.Qt.Key.Key_Backspace:
ev.accept() ev.accept()
if not self.node._allowRemove: if not self.node._allowRemove:
return return
@ -631,7 +631,7 @@ class NodeGraphicsItem(GraphicsObject):
ev.ignore() ev.ignore()
def itemChange(self, change, val): def itemChange(self, change, val):
if change == self.ItemPositionHasChanged: if change == self.GraphicsItemChange.ItemPositionHasChanged:
for k, t in self.terminals.items(): for k, t in self.terminals.items():
t[1].nodeMoved() t[1].nodeMoved()
return GraphicsObject.itemChange(self, change, val) return GraphicsObject.itemChange(self, change, val)

View File

@ -286,7 +286,7 @@ class TextItem(QtWidgets.QGraphicsTextItem):
self.on_update() self.on_update()
def keyPressEvent(self, ev): def keyPressEvent(self, ev):
if ev.key() == QtCore.Qt.Key_Enter or ev.key() == QtCore.Qt.Key_Return: if ev.key() == QtCore.Qt.Key.Key_Enter or ev.key() == QtCore.Qt.Key.Key_Return:
if self.on_update is not None: if self.on_update is not None:
self.on_update() self.on_update()
return return
@ -306,7 +306,7 @@ class TerminalGraphicsItem(GraphicsObject):
self.newConnection = None self.newConnection = None
self.setFiltersChildEvents(True) ## to pick up mouse events on the rectitem self.setFiltersChildEvents(True) ## to pick up mouse events on the rectitem
if self.term.isRenamable(): if self.term.isRenamable():
self.label.setTextInteractionFlags(QtCore.Qt.TextEditorInteraction) self.label.setTextInteractionFlags(QtCore.Qt.TextInteractionFlag.TextEditorInteraction)
self.setZValue(1) self.setZValue(1)
self.menu = None self.menu = None
@ -357,10 +357,10 @@ class TerminalGraphicsItem(GraphicsObject):
ev.ignore() ## necessary to allow click/drag events to process correctly ev.ignore() ## necessary to allow click/drag events to process correctly
def mouseClickEvent(self, ev): def mouseClickEvent(self, ev):
if ev.button() == QtCore.Qt.LeftButton: if ev.button() == QtCore.Qt.MouseButton.LeftButton:
ev.accept() ev.accept()
self.label.setFocus(QtCore.Qt.MouseFocusReason) self.label.setFocus(QtCore.Qt.FocusReason.MouseFocusReason)
elif ev.button() == QtCore.Qt.RightButton: elif ev.button() == QtCore.Qt.MouseButton.RightButton:
ev.accept() ev.accept()
self.raiseContextMenu(ev) self.raiseContextMenu(ev)
@ -401,7 +401,7 @@ class TerminalGraphicsItem(GraphicsObject):
self.term.node().removeTerminal(self.term) self.term.node().removeTerminal(self.term)
def mouseDragEvent(self, ev): def mouseDragEvent(self, ev):
if ev.button() != QtCore.Qt.LeftButton: if ev.button() != QtCore.Qt.MouseButton.LeftButton:
ev.ignore() ev.ignore()
return return
@ -438,9 +438,9 @@ class TerminalGraphicsItem(GraphicsObject):
self.newConnection.setTarget(self.mapToView(ev.pos())) self.newConnection.setTarget(self.mapToView(ev.pos()))
def hoverEvent(self, ev): def hoverEvent(self, ev):
if not ev.isExit() and ev.acceptDrags(QtCore.Qt.LeftButton): if not ev.isExit() and ev.acceptDrags(QtCore.Qt.MouseButton.LeftButton):
ev.acceptClicks(QtCore.Qt.LeftButton) ## we don't use the click, but we also don't want anyone else to use it. ev.acceptClicks(QtCore.Qt.MouseButton.LeftButton) ## we don't use the click, but we also don't want anyone else to use it.
ev.acceptClicks(QtCore.Qt.RightButton) ev.acceptClicks(QtCore.Qt.MouseButton.RightButton)
self.box.setBrush(fn.mkBrush('w')) self.box.setBrush(fn.mkBrush('w'))
else: else:
self.box.setBrush(self.brush) self.box.setBrush(self.brush)
@ -460,8 +460,8 @@ class ConnectionItem(GraphicsObject):
def __init__(self, source, target=None): def __init__(self, source, target=None):
GraphicsObject.__init__(self) GraphicsObject.__init__(self)
self.setFlags( self.setFlags(
self.ItemIsSelectable | self.GraphicsItemFlag.ItemIsSelectable |
self.ItemIsFocusable self.GraphicsItemFlag.ItemIsFocusable
) )
self.source = source self.source = source
self.target = target self.target = target
@ -527,7 +527,7 @@ class ConnectionItem(GraphicsObject):
ev.ignore() ev.ignore()
return return
if ev.key() == QtCore.Qt.Key_Delete or ev.key() == QtCore.Qt.Key_Backspace: if ev.key() == QtCore.Qt.Key.Key_Delete or ev.key() == QtCore.Qt.Key.Key_Backspace:
self.source.disconnect(self.target) self.source.disconnect(self.target)
ev.accept() ev.accept()
else: else:
@ -537,7 +537,7 @@ class ConnectionItem(GraphicsObject):
ev.ignore() ev.ignore()
def mouseClickEvent(self, ev): def mouseClickEvent(self, ev):
if ev.button() == QtCore.Qt.LeftButton: if ev.button() == QtCore.Qt.MouseButton.LeftButton:
ev.accept() ev.accept()
sel = self.isSelected() sel = self.isSelected()
self.setSelected(True) self.setSelected(True)
@ -546,7 +546,7 @@ class ConnectionItem(GraphicsObject):
self.update() self.update()
def hoverEvent(self, ev): def hoverEvent(self, ev):
if (not ev.isExit()) and ev.acceptClicks(QtCore.Qt.LeftButton): if (not ev.isExit()) and ev.acceptClicks(QtCore.Qt.MouseButton.LeftButton):
self.hovered = True self.hovered = True
else: else:
self.hovered = False self.hovered = False

View File

@ -63,18 +63,18 @@ class ColumnSelectNode(Node):
self.columnList.clear() self.columnList.clear()
for c in cols: for c in cols:
item = QtGui.QListWidgetItem(c) item = QtGui.QListWidgetItem(c)
item.setFlags(QtCore.Qt.ItemIsEnabled|QtCore.Qt.ItemIsUserCheckable) item.setFlags(QtCore.Qt.ItemFlag.ItemIsEnabled|QtCore.Qt.ItemFlag.ItemIsUserCheckable)
if c in self.columns: if c in self.columns:
item.setCheckState(QtCore.Qt.Checked) item.setCheckState(QtCore.Qt.CheckState.Checked)
else: else:
item.setCheckState(QtCore.Qt.Unchecked) item.setCheckState(QtCore.Qt.CheckState.Unchecked)
self.columnList.addItem(item) self.columnList.addItem(item)
self.columnList.blockSignals(False) self.columnList.blockSignals(False)
def itemChanged(self, item): def itemChanged(self, item):
col = str(item.text()) col = str(item.text())
if item.checkState() == QtCore.Qt.Checked: if item.checkState() == QtCore.Qt.CheckState.Checked:
if col not in self.columns: if col not in self.columns:
self.columns.add(col) self.columns.add(col)
self.addOutput(col) self.addOutput(col)

View File

@ -307,7 +307,7 @@ def mkBrush(*args, **kwds):
elif len(args) == 1: elif len(args) == 1:
arg = args[0] arg = args[0]
if arg is None: if arg is None:
return QtGui.QBrush(QtCore.Qt.NoBrush) return QtGui.QBrush(QtCore.Qt.BrushStyle.NoBrush)
elif isinstance(arg, QtGui.QBrush): elif isinstance(arg, QtGui.QBrush):
return QtGui.QBrush(arg) return QtGui.QBrush(arg)
else: else:
@ -330,7 +330,6 @@ def mkPen(*args, **kargs):
mkPen(None) # (no pen) mkPen(None) # (no pen)
In these examples, *color* may be replaced with any arguments accepted by :func:`mkColor() <pyqtgraph.mkColor>` """ In these examples, *color* may be replaced with any arguments accepted by :func:`mkColor() <pyqtgraph.mkColor>` """
color = kargs.get('color', None) color = kargs.get('color', None)
width = kargs.get('width', 1) width = kargs.get('width', 1)
style = kargs.get('style', None) style = kargs.get('style', None)
@ -345,7 +344,7 @@ def mkPen(*args, **kargs):
if isinstance(arg, QtGui.QPen): if isinstance(arg, QtGui.QPen):
return QtGui.QPen(arg) ## return a copy of this pen return QtGui.QPen(arg) ## return a copy of this pen
elif arg is None: elif arg is None:
style = QtCore.Qt.NoPen style = QtCore.Qt.PenStyle.NoPen
else: else:
color = arg color = arg
if len(args) > 1: if len(args) > 1:
@ -1619,7 +1618,7 @@ def makeQImage(imgData, alpha=None, copy=True, transpose=True):
copied = False copied = False
if imgData.ndim == 2: if imgData.ndim == 2:
imgFormat = QtGui.QImage.Format_Grayscale8 imgFormat = QtGui.QImage.Format.Format_Grayscale8
elif imgData.ndim == 3: elif imgData.ndim == 3:
# If we didn't explicitly specify alpha, check the array shape. # If we didn't explicitly specify alpha, check the array shape.
if alpha is None: if alpha is None:
@ -1638,9 +1637,9 @@ def makeQImage(imgData, alpha=None, copy=True, transpose=True):
profile("add alpha channel") profile("add alpha channel")
if alpha: if alpha:
imgFormat = QtGui.QImage.Format_ARGB32 imgFormat = QtGui.QImage.Format.Format_ARGB32
else: else:
imgFormat = QtGui.QImage.Format_RGB32 imgFormat = QtGui.QImage.Format.Format_RGB32
else: else:
raise TypeError("Image array must have ndim = 2 or 3.") raise TypeError("Image array must have ndim = 2 or 3.")
@ -1706,7 +1705,7 @@ def imageToArray(img, copy=False, transpose=True):
arr = qimage_to_ndarray(img) arr = qimage_to_ndarray(img)
fmt = img.format() fmt = img.format()
if fmt == img.Format_RGB32: if fmt == img.Format.Format_RGB32:
arr[...,3] = 255 arr[...,3] = 255
if copy: if copy:
@ -1936,7 +1935,7 @@ def arrayToQPath(x, y, connect='all', finiteCheck=True):
arr = np.frombuffer(backstore, dtype=[('c', '>i4'), ('x', '>f8'), ('y', '>f8')], arr = np.frombuffer(backstore, dtype=[('c', '>i4'), ('x', '>f8'), ('y', '>f8')],
count=n, offset=4) count=n, offset=4)
struct.pack_into('>i', backstore, 0, n) struct.pack_into('>i', backstore, 0, n)
# cStart, fillRule (Qt.OddEvenFill) # cStart, fillRule (Qt.FillRule.OddEvenFill)
struct.pack_into('>ii', backstore, 4+n*20, 0, 0) struct.pack_into('>ii', backstore, 4+n*20, 0, 0)
# Fill array with vertex values # Fill array with vertex values

View File

@ -99,12 +99,12 @@ class ArrowItem(QtGui.QGraphicsPathItem):
self.setBrush(fn.mkBrush(self.opts['brush'])) self.setBrush(fn.mkBrush(self.opts['brush']))
if self.opts['pxMode']: if self.opts['pxMode']:
self.setFlags(self.flags() | self.ItemIgnoresTransformations) self.setFlags(self.flags() | self.GraphicsItemFlag.ItemIgnoresTransformations)
else: else:
self.setFlags(self.flags() & ~self.ItemIgnoresTransformations) self.setFlags(self.flags() & ~self.GraphicsItemFlag.ItemIgnoresTransformations)
def paint(self, p, *args): def paint(self, p, *args):
p.setRenderHint(QtGui.QPainter.Antialiasing) p.setRenderHint(QtGui.QPainter.RenderHint.Antialiasing)
super().paint(p, *args) super().paint(p, *args)
#p.setPen(fn.mkPen('r')) #p.setPen(fn.mkPen('r'))

View File

@ -611,8 +611,8 @@ class AxisItem(GraphicsWidget):
finally: finally:
painter.end() painter.end()
self.picture = picture self.picture = picture
#p.setRenderHint(p.Antialiasing, False) ## Sometimes we get a segfault here ??? #p.setRenderHint(p.RenderHint.Antialiasing, False) ## Sometimes we get a segfault here ???
#p.setRenderHint(p.TextAntialiasing, True) #p.setRenderHint(p.RenderHint.TextAntialiasing, True)
self.picture.play(p) self.picture.play(p)
def setTicks(self, ticks): def setTicks(self, ticks):
@ -1066,7 +1066,7 @@ class AxisItem(GraphicsWidget):
if s is None: if s is None:
rects.append(None) rects.append(None)
else: else:
br = p.boundingRect(QtCore.QRectF(0, 0, 100, 100), QtCore.Qt.AlignCenter, asUnicode(s)) br = p.boundingRect(QtCore.QRectF(0, 0, 100, 100), QtCore.Qt.AlignmentFlag.AlignCenter, asUnicode(s))
## boundingRect is usually just a bit too large ## boundingRect is usually just a bit too large
## (but this probably depends on per-font metrics?) ## (but this probably depends on per-font metrics?)
br.setHeight(br.height() * 0.8) br.setHeight(br.height() * 0.8)
@ -1110,7 +1110,7 @@ class AxisItem(GraphicsWidget):
continue continue
vstr = asUnicode(vstr) vstr = asUnicode(vstr)
x = tickPositions[i][j] x = tickPositions[i][j]
#textRect = p.boundingRect(QtCore.QRectF(0, 0, 100, 100), QtCore.Qt.AlignCenter, vstr) #textRect = p.boundingRect(QtCore.QRectF(0, 0, 100, 100), QtCore.Qt.AlignmentFlag.AlignCenter, vstr)
textRect = rects[j] textRect = rects[j]
height = textRect.height() height = textRect.height()
width = textRect.width() width = textRect.width()
@ -1118,25 +1118,25 @@ class AxisItem(GraphicsWidget):
offset = max(0,self.style['tickLength']) + textOffset offset = max(0,self.style['tickLength']) + textOffset
if self.orientation == 'left': if self.orientation == 'left':
alignFlags = QtCore.Qt.AlignRight|QtCore.Qt.AlignVCenter alignFlags = QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignVCenter
rect = QtCore.QRectF(tickStop-offset-width, x-(height/2), width, height) rect = QtCore.QRectF(tickStop-offset-width, x-(height/2), width, height)
elif self.orientation == 'right': elif self.orientation == 'right':
alignFlags = QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter alignFlags = QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignVCenter
rect = QtCore.QRectF(tickStop+offset, x-(height/2), width, height) rect = QtCore.QRectF(tickStop+offset, x-(height/2), width, height)
elif self.orientation == 'top': elif self.orientation == 'top':
alignFlags = QtCore.Qt.AlignHCenter|QtCore.Qt.AlignBottom alignFlags = QtCore.Qt.AlignmentFlag.AlignHCenter|QtCore.Qt.AlignmentFlag.AlignBottom
rect = QtCore.QRectF(x-width/2., tickStop-offset-height, width, height) rect = QtCore.QRectF(x-width/2., tickStop-offset-height, width, height)
elif self.orientation == 'bottom': elif self.orientation == 'bottom':
alignFlags = QtCore.Qt.AlignHCenter|QtCore.Qt.AlignTop alignFlags = QtCore.Qt.AlignmentFlag.AlignHCenter|QtCore.Qt.AlignmentFlag.AlignTop
rect = QtCore.QRectF(x-width/2., tickStop+offset, width, height) rect = QtCore.QRectF(x-width/2., tickStop+offset, width, height)
if QT_LIB == 'PyQt6': if QT_LIB == 'PyQt6':
# PyQt6 doesn't allow or-ing of different enum types # PyQt6 doesn't allow or-ing of different enum types
# so we need to take its value property # so we need to take its value property
textFlags = alignFlags.value | QtCore.Qt.TextDontClip.value textFlags = alignFlags.value | QtCore.Qt.TextFlag.TextDontClip.value
else: else:
# for PyQt5, the following expression is not commutative! # for PyQt5, the following expression is not commutative!
textFlags = alignFlags | QtCore.Qt.TextDontClip textFlags = alignFlags | QtCore.Qt.TextFlag.TextDontClip
#p.setPen(self.pen()) #p.setPen(self.pen())
#p.drawText(rect, textFlags, vstr) #p.drawText(rect, textFlags, vstr)
@ -1151,8 +1151,8 @@ class AxisItem(GraphicsWidget):
def drawPicture(self, p, axisSpec, tickSpecs, textSpecs): def drawPicture(self, p, axisSpec, tickSpecs, textSpecs):
profiler = debug.Profiler() profiler = debug.Profiler()
p.setRenderHint(p.Antialiasing, False) p.setRenderHint(p.RenderHint.Antialiasing, False)
p.setRenderHint(p.TextAntialiasing, True) p.setRenderHint(p.RenderHint.TextAntialiasing, True)
## draw long line along axis ## draw long line along axis
pen, p1, p2 = axisSpec pen, p1, p2 = axisSpec

View File

@ -50,7 +50,7 @@ class ButtonItem(GraphicsObject):
self.setOpacity(0.7) self.setOpacity(0.7)
def paint(self, p, *args): def paint(self, p, *args):
p.setRenderHint(p.Antialiasing) p.setRenderHint(p.RenderHint.Antialiasing)
p.drawPixmap(0, 0, self.pixmap) p.drawPixmap(0, 0, self.pixmap)
def boundingRect(self): def boundingRect(self):

View File

@ -30,7 +30,7 @@ class CurvePoint(GraphicsObject):
self.setProperty('index', 0) self.setProperty('index', 0)
if hasattr(self, 'ItemHasNoContents'): if hasattr(self, 'ItemHasNoContents'):
self.setFlags(self.flags() | self.ItemHasNoContents) self.setFlags(self.flags() | self.GraphicsItemFlag.ItemHasNoContents)
if pos is not None: if pos is not None:
self.setPos(pos) self.setPos(pos)
@ -113,7 +113,7 @@ class CurveArrow(CurvePoint):
CurvePoint.__init__(self, curve, index=index, pos=pos) CurvePoint.__init__(self, curve, index=index, pos=pos)
if opts.get('pxMode', True): if opts.get('pxMode', True):
opts['pxMode'] = False opts['pxMode'] = False
self.setFlags(self.flags() | self.ItemIgnoresTransformations) self.setFlags(self.flags() | self.GraphicsItemFlag.ItemIgnoresTransformations)
opts['angle'] = 0 opts['angle'] = 0
self.arrow = ArrowItem.ArrowItem(**opts) self.arrow = ArrowItem.ArrowItem(**opts)
self.arrow.setParentItem(self) self.arrow.setParentItem(self)

View File

@ -83,8 +83,8 @@ class TickSliderItem(GraphicsWidget):
} }
self.setOrientation(orientation) self.setOrientation(orientation)
#self.setFrameStyle(QtGui.QFrame.NoFrame | QtGui.QFrame.Plain) #self.setFrameStyle(QtGui.QFrame.Shape.NoFrame | QtGui.QFrame.Shadow.Plain)
#self.setBackgroundRole(QtGui.QPalette.NoRole) #self.setBackgroundRole(QtGui.QPalette.ColorRole.NoRole)
#self.setMouseTracking(True) #self.setMouseTracking(True)
#def boundingRect(self): #def boundingRect(self):
@ -214,7 +214,7 @@ class TickSliderItem(GraphicsWidget):
self.sigTicksChangeFinished.emit(self) self.sigTicksChangeFinished.emit(self)
def tickClicked(self, tick, ev): def tickClicked(self, tick, ev):
if ev.button() == QtCore.Qt.RightButton and tick.removeAllowed: if ev.button() == QtCore.Qt.MouseButton.RightButton and tick.removeAllowed:
self.removeTick(tick) self.removeTick(tick)
def widgetLength(self): def widgetLength(self):
@ -231,7 +231,7 @@ class TickSliderItem(GraphicsWidget):
#bounds.setLeft(min(-self.tickSize*0.5, bounds.left())) #bounds.setLeft(min(-self.tickSize*0.5, bounds.left()))
#bounds.setRight(max(self.length + self.tickSize, bounds.right())) #bounds.setRight(max(self.length + self.tickSize, bounds.right()))
#self.setSceneRect(bounds) #self.setSceneRect(bounds)
#self.fitInView(bounds, QtCore.Qt.KeepAspectRatio) #self.fitInView(bounds, QtCore.Qt.AspectRatioMode.KeepAspectRatio)
def setLength(self, newLen): def setLength(self, newLen):
#private #private
@ -256,18 +256,18 @@ class TickSliderItem(GraphicsWidget):
#pos = self.mapToScene(ev.pos()) #pos = self.mapToScene(ev.pos())
#if ev.button() == QtCore.Qt.LeftButton and self.allowAdd: #if ev.button() == QtCore.Qt.MouseButton.LeftButton and self.allowAdd:
#if pos.x() < 0 or pos.x() > self.length: #if pos.x() < 0 or pos.x() > self.length:
#return #return
#if pos.y() < 0 or pos.y() > self.tickSize: #if pos.y() < 0 or pos.y() > self.tickSize:
#return #return
#pos.setX(min(max(pos.x(), 0), self.length)) #pos.setX(min(max(pos.x(), 0), self.length))
#self.addTick(pos.x()/self.length) #self.addTick(pos.x()/self.length)
#elif ev.button() == QtCore.Qt.RightButton: #elif ev.button() == QtCore.Qt.MouseButton.RightButton:
#self.showMenu(ev) #self.showMenu(ev)
def mouseClickEvent(self, ev): def mouseClickEvent(self, ev):
if ev.button() == QtCore.Qt.LeftButton and self.allowAdd: if ev.button() == QtCore.Qt.MouseButton.LeftButton and self.allowAdd:
pos = ev.pos() pos = ev.pos()
if pos.x() < 0 or pos.x() > self.length: if pos.x() < 0 or pos.x() > self.length:
return return
@ -275,10 +275,10 @@ class TickSliderItem(GraphicsWidget):
return return
pos.setX(min(max(pos.x(), 0), self.length)) pos.setX(min(max(pos.x(), 0), self.length))
self.addTick(pos.x()/self.length) self.addTick(pos.x()/self.length)
elif ev.button() == QtCore.Qt.RightButton: elif ev.button() == QtCore.Qt.MouseButton.RightButton:
self.showMenu(ev) self.showMenu(ev)
#if ev.button() == QtCore.Qt.RightButton: #if ev.button() == QtCore.Qt.MouseButton.RightButton:
#if self.moving: #if self.moving:
#ev.accept() #ev.accept()
#self.setPos(self.startPosition) #self.setPos(self.startPosition)
@ -291,8 +291,8 @@ class TickSliderItem(GraphicsWidget):
###remove ###remove
def hoverEvent(self, ev): def hoverEvent(self, ev):
if (not ev.isExit()) and ev.acceptClicks(QtCore.Qt.LeftButton): if (not ev.isExit()) and ev.acceptClicks(QtCore.Qt.MouseButton.LeftButton):
ev.acceptClicks(QtCore.Qt.RightButton) ev.acceptClicks(QtCore.Qt.MouseButton.RightButton)
## show ghost tick ## show ghost tick
#self.currentPen = fn.mkPen(255, 0,0) #self.currentPen = fn.mkPen(255, 0,0)
#else: #else:
@ -426,14 +426,14 @@ class GradientEditorItem(TickSliderItem):
self.rectSize = 15 self.rectSize = 15
self.gradRect = QtGui.QGraphicsRectItem(QtCore.QRectF(0, self.rectSize, 100, self.rectSize)) self.gradRect = QtGui.QGraphicsRectItem(QtCore.QRectF(0, self.rectSize, 100, self.rectSize))
self.backgroundRect = QtGui.QGraphicsRectItem(QtCore.QRectF(0, -self.rectSize, 100, self.rectSize)) self.backgroundRect = QtGui.QGraphicsRectItem(QtCore.QRectF(0, -self.rectSize, 100, self.rectSize))
self.backgroundRect.setBrush(QtGui.QBrush(QtCore.Qt.DiagCrossPattern)) self.backgroundRect.setBrush(QtGui.QBrush(QtCore.Qt.BrushStyle.DiagCrossPattern))
self.colorMode = 'rgb' self.colorMode = 'rgb'
TickSliderItem.__init__(self, *args, **kargs) TickSliderItem.__init__(self, *args, **kargs)
self.colorDialog = QtGui.QColorDialog() self.colorDialog = QtGui.QColorDialog()
self.colorDialog.setOption(QtGui.QColorDialog.ShowAlphaChannel, True) self.colorDialog.setOption(QtGui.QColorDialog.ColorDialogOption.ShowAlphaChannel, True)
self.colorDialog.setOption(QtGui.QColorDialog.DontUseNativeDialog, True) self.colorDialog.setOption(QtGui.QColorDialog.ColorDialogOption.DontUseNativeDialog, True)
self.colorDialog.currentColorChanged.connect(self.currentColorChanged) self.colorDialog.currentColorChanged.connect(self.currentColorChanged)
self.colorDialog.rejected.connect(self.currentColorRejected) self.colorDialog.rejected.connect(self.currentColorRejected)
@ -615,9 +615,9 @@ class GradientEditorItem(TickSliderItem):
def tickClicked(self, tick, ev): def tickClicked(self, tick, ev):
#private #private
if ev.button() == QtCore.Qt.LeftButton: if ev.button() == QtCore.Qt.MouseButton.LeftButton:
self.raiseColorDialog(tick) self.raiseColorDialog(tick)
elif ev.button() == QtCore.Qt.RightButton: elif ev.button() == QtCore.Qt.MouseButton.RightButton:
self.raiseTickContextMenu(tick, ev) self.raiseTickContextMenu(tick, ev)
def raiseColorDialog(self, tick): def raiseColorDialog(self, tick):
@ -906,7 +906,7 @@ class Tick(QtGui.QGraphicsWidget): ## NOTE: Making this a subclass of GraphicsO
return self.pg return self.pg
def paint(self, p, *args): def paint(self, p, *args):
p.setRenderHints(QtGui.QPainter.Antialiasing) p.setRenderHints(QtGui.QPainter.RenderHint.Antialiasing)
p.fillPath(self.pg, fn.mkBrush(self.color)) p.fillPath(self.pg, fn.mkBrush(self.color))
p.setPen(self.currentPen) p.setPen(self.currentPen)
@ -914,7 +914,7 @@ class Tick(QtGui.QGraphicsWidget): ## NOTE: Making this a subclass of GraphicsO
def mouseDragEvent(self, ev): def mouseDragEvent(self, ev):
if self.movable and ev.button() == QtCore.Qt.LeftButton: if self.movable and ev.button() == QtCore.Qt.MouseButton.LeftButton:
if ev.isStart(): if ev.isStart():
self.moving = True self.moving = True
self.cursorOffset = self.pos() - self.mapToParent(ev.buttonDownPos()) self.cursorOffset = self.pos() - self.mapToParent(ev.buttonDownPos())
@ -935,7 +935,7 @@ class Tick(QtGui.QGraphicsWidget): ## NOTE: Making this a subclass of GraphicsO
def mouseClickEvent(self, ev): def mouseClickEvent(self, ev):
ev.accept() ev.accept()
if ev.button() == QtCore.Qt.RightButton and self.moving: if ev.button() == QtCore.Qt.MouseButton.RightButton and self.moving:
self.setPos(self.startPosition) self.setPos(self.startPosition)
self.moving = False self.moving = False
self.sigMoving.emit(self, self.startPosition) self.sigMoving.emit(self, self.startPosition)
@ -944,9 +944,9 @@ class Tick(QtGui.QGraphicsWidget): ## NOTE: Making this a subclass of GraphicsO
self.sigClicked.emit(self, ev) self.sigClicked.emit(self, ev)
def hoverEvent(self, ev): def hoverEvent(self, ev):
if (not ev.isExit()) and ev.acceptDrags(QtCore.Qt.LeftButton): if (not ev.isExit()) and ev.acceptDrags(QtCore.Qt.MouseButton.LeftButton):
ev.acceptClicks(QtCore.Qt.LeftButton) ev.acceptClicks(QtCore.Qt.MouseButton.LeftButton)
ev.acceptClicks(QtCore.Qt.RightButton) ev.acceptClicks(QtCore.Qt.MouseButton.RightButton)
self.currentPen = self.hoverPen self.currentPen = self.hoverPen
else: else:
self.currentPen = self.pen self.currentPen = self.pen

View File

@ -14,7 +14,7 @@ class GradientLegend(UIGraphicsItem):
self.size = size self.size = size
self.offset = offset self.offset = offset
UIGraphicsItem.__init__(self) UIGraphicsItem.__init__(self)
self.setAcceptedMouseButtons(QtCore.Qt.NoButton) self.setAcceptedMouseButtons(QtCore.Qt.MouseButton.NoButton)
self.brush = QtGui.QBrush(QtGui.QColor(200,0,0)) self.brush = QtGui.QBrush(QtGui.QColor(200,0,0))
self.pen = QtGui.QPen(QtGui.QColor(0,0,0)) self.pen = QtGui.QPen(QtGui.QColor(0,0,0))
self.labels = {'max': 1, 'min': 0} self.labels = {'max': 1, 'min': 0}
@ -57,7 +57,7 @@ class GradientLegend(UIGraphicsItem):
labelWidth = 0 labelWidth = 0
labelHeight = 0 labelHeight = 0
for k in self.labels: for k in self.labels:
b = p.boundingRect(QtCore.QRectF(0, 0, 0, 0), QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter, str(k)) b = p.boundingRect(QtCore.QRectF(0, 0, 0, 0), QtCore.Qt.AlignmentFlag.AlignLeft | QtCore.Qt.AlignmentFlag.AlignVCenter, str(k))
labelWidth = max(labelWidth, b.width()) labelWidth = max(labelWidth, b.width())
labelHeight = max(labelHeight, b.height()) labelHeight = max(labelHeight, b.height())
@ -111,4 +111,4 @@ class GradientLegend(UIGraphicsItem):
lw = labelWidth lw = labelWidth
for k in self.labels: for k in self.labels:
y = y1 + self.labels[k] * (y2-y1) y = y1 + self.labels[k] * (y2-y1)
p.drawText(QtCore.QRectF(tx, y - lh/2, lw, lh), QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter, str(k)) p.drawText(QtCore.QRectF(tx, y - lh/2, lw, lh), QtCore.Qt.AlignmentFlag.AlignLeft | QtCore.Qt.AlignmentFlag.AlignVCenter, str(k))

View File

@ -131,7 +131,7 @@ class GraphItem(GraphicsObject):
if self.picture == None: if self.picture == None:
self.generatePicture() self.generatePicture()
if getConfigOption('antialias') is True: if getConfigOption('antialias') is True:
p.setRenderHint(p.Antialiasing) p.setRenderHint(p.RenderHint.Antialiasing)
self.picture.play(p) self.picture.play(p)
def boundingRect(self): def boundingRect(self):

View File

@ -168,7 +168,7 @@ class GraphicsItem(object):
p = p.parentItem() p = p.parentItem()
if p is None: if p is None:
break break
if p.flags() & self.ItemClipsChildrenToShape: if p.flags() & self.GraphicsItemFlag.ItemClipsChildrenToShape:
parents.append(p) parents.append(p)
return parents return parents
@ -447,7 +447,7 @@ class GraphicsItem(object):
#def itemChange(self, change, value): #def itemChange(self, change, value):
#ret = self._qtBaseClass.itemChange(self, change, value) #ret = self._qtBaseClass.itemChange(self, change, value)
#if change == self.ItemParentHasChanged or change == self.ItemSceneHasChanged: #if change == self.GraphicsItemChange.ItemParentHasChanged or change == self.ItemSceneHasChanged:
#print "Item scene changed:", self #print "Item scene changed:", self
#self.setChildScene(self) ## This is bizarre. #self.setChildScene(self) ## This is bizarre.
#return ret #return ret

View File

@ -26,7 +26,7 @@ class GraphicsLayout(GraphicsWidget):
self.itemBorders = {} ## {item1: QtGui.QGraphicsRectItem, ...} border rects self.itemBorders = {} ## {item1: QtGui.QGraphicsRectItem, ...} border rects
self.currentRow = 0 self.currentRow = 0
self.currentCol = 0 self.currentCol = 0
self.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)) self.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.Policy.Expanding, QtGui.QSizePolicy.Policy.Expanding))
#def resizeEvent(self, ev): #def resizeEvent(self, ev):
#ret = GraphicsWidget.resizeEvent(self, ev) #ret = GraphicsWidget.resizeEvent(self, ev)

View File

@ -14,12 +14,12 @@ class GraphicsObject(GraphicsItem, QtGui.QGraphicsObject):
def __init__(self, *args): def __init__(self, *args):
self.__inform_view_on_changes = True self.__inform_view_on_changes = True
QtGui.QGraphicsObject.__init__(self, *args) QtGui.QGraphicsObject.__init__(self, *args)
self.setFlag(self.ItemSendsGeometryChanges) self.setFlag(self.GraphicsItemFlag.ItemSendsGeometryChanges)
GraphicsItem.__init__(self) GraphicsItem.__init__(self)
def itemChange(self, change, value): def itemChange(self, change, value):
ret = super().itemChange(change, value) ret = super().itemChange(change, value)
if change in [self.ItemParentHasChanged, self.ItemSceneHasChanged]: if change in [self.GraphicsItemChange.ItemParentHasChanged, self.GraphicsItemChange.ItemSceneHasChanged]:
self.parentChanged() self.parentChanged()
try: try:
inform_view_on_change = self.__inform_view_on_changes inform_view_on_change = self.__inform_view_on_changes
@ -28,12 +28,12 @@ class GraphicsObject(GraphicsItem, QtGui.QGraphicsObject):
# (if it was triggered during the gc of the object). # (if it was triggered during the gc of the object).
pass pass
else: else:
if inform_view_on_change and change in [self.ItemPositionHasChanged, self.ItemTransformHasChanged]: if inform_view_on_change and change in [self.GraphicsItemChange.ItemPositionHasChanged, self.GraphicsItemChange.ItemTransformHasChanged]:
self.informViewBoundsChanged() self.informViewBoundsChanged()
## workaround for pyqt bug: ## workaround for pyqt bug:
## http://www.riverbankcomputing.com/pipermail/pyqt/2012-August/031818.html ## http://www.riverbankcomputing.com/pipermail/pyqt/2012-August/031818.html
if QT_LIB in ['PyQt4', 'PyQt5'] and change == self.ItemParentChange and isinstance(ret, QtGui.QGraphicsItem): if QT_LIB == 'PyQt5' and change == self.GraphicsItemChange.ItemParentChange and isinstance(ret, QtGui.QGraphicsItem):
ret = sip.cast(ret, QtGui.QGraphicsItem) ret = sip.cast(ret, QtGui.QGraphicsItem)
return ret return ret

View File

@ -17,8 +17,8 @@ class GridItem(UIGraphicsItem):
def __init__(self, pen='default', textPen='default'): def __init__(self, pen='default', textPen='default'):
UIGraphicsItem.__init__(self) UIGraphicsItem.__init__(self)
#QtGui.QGraphicsItem.__init__(self, *args) #QtGui.QGraphicsItem.__init__(self, *args)
#self.setFlag(QtGui.QGraphicsItem.ItemClipsToShape) #self.setFlag(QtGui.QGraphicsItem.GraphicsItemFlag.ItemClipsToShape)
#self.setCacheMode(QtGui.QGraphicsItem.DeviceCoordinateCache) #self.setCacheMode(QtGui.QGraphicsItem.CacheMode.DeviceCoordinateCache)
self.opts = {} self.opts = {}

View File

@ -159,13 +159,13 @@ class HistogramLUTItem(GraphicsWidget):
self.layout.addItem(self.vb, avg[1], 0) self.layout.addItem(self.vb, avg[1], 0)
self.layout.addItem(self.gradient, avg[2], 0) self.layout.addItem(self.gradient, avg[2], 0)
self.gradient.setFlag(self.gradient.ItemStacksBehindParent) self.gradient.setFlag(self.gradient.GraphicsItemFlag.ItemStacksBehindParent)
self.vb.setFlag(self.gradient.ItemStacksBehindParent) self.vb.setFlag(self.gradient.GraphicsItemFlag.ItemStacksBehindParent)
self.gradient.sigGradientChanged.connect(self.gradientChanged) self.gradient.sigGradientChanged.connect(self.gradientChanged)
self.vb.sigRangeChanged.connect(self.viewRangeChanged) self.vb.sigRangeChanged.connect(self.viewRangeChanged)
comp = QtGui.QPainter.CompositionMode_Plus comp = QtGui.QPainter.CompositionMode.CompositionMode_Plus
self.plots = [ self.plots = [
PlotCurveItem(pen=(200, 200, 200, 100)), # mono PlotCurveItem(pen=(200, 200, 200, 100)), # mono
PlotCurveItem(pen=(255, 0, 0, 100), compositionMode=comp), # r PlotCurveItem(pen=(255, 0, 0, 100), compositionMode=comp), # r
@ -239,7 +239,7 @@ class HistogramLUTItem(GraphicsWidget):
p2mn = gradRect.bottomLeft() p2mn = gradRect.bottomLeft()
p2mx = gradRect.bottomRight() p2mx = gradRect.bottomRight()
p.setRenderHint(QtGui.QPainter.Antialiasing) p.setRenderHint(QtGui.QPainter.RenderHint.Antialiasing)
for pen in [fn.mkPen((0, 0, 0, 100), width=3), pen]: for pen in [fn.mkPen((0, 0, 0, 100), width=3), pen]:
p.setPen(pen) p.setPen(pen)

View File

@ -902,7 +902,7 @@ class ImageItem(GraphicsObject):
parent items, but its position will be transformed as usual. parent items, but its position will be transformed as usual.
(see ``GraphicsItem::ItemIgnoresTransformations`` in the Qt documentation) (see ``GraphicsItem::ItemIgnoresTransformations`` in the Qt documentation)
""" """
self.setFlag(self.ItemIgnoresTransformations, b) self.setFlag(self.GraphicsItemFlag.ItemIgnoresTransformations, b)
def setScaledMode(self): def setScaledMode(self):
self.setPxMode(False) self.setPxMode(False)
@ -949,7 +949,7 @@ class ImageItem(GraphicsObject):
return max(1, int(1.0 / w)), max(1, int(1.0 / h)) return max(1, int(1.0 / w)), max(1, int(1.0 / h))
def mouseDragEvent(self, ev): def mouseDragEvent(self, ev):
if ev.button() != QtCore.Qt.LeftButton: if ev.button() != QtCore.Qt.MouseButton.LeftButton:
ev.ignore() ev.ignore()
return return
elif self.drawKernel is not None: elif self.drawKernel is not None:
@ -957,10 +957,10 @@ class ImageItem(GraphicsObject):
self.drawAt(ev.pos(), ev) self.drawAt(ev.pos(), ev)
def mouseClickEvent(self, ev): def mouseClickEvent(self, ev):
if ev.button() == QtCore.Qt.RightButton: if ev.button() == QtCore.Qt.MouseButton.RightButton:
if self.raiseContextMenu(ev): if self.raiseContextMenu(ev):
ev.accept() ev.accept()
if self.drawKernel is not None and ev.button() == QtCore.Qt.LeftButton: if self.drawKernel is not None and ev.button() == QtCore.Qt.MouseButton.LeftButton:
self.drawAt(ev.pos(), ev) self.drawAt(ev.pos(), ev)
def raiseContextMenu(self, ev): def raiseContextMenu(self, ev):
@ -985,11 +985,11 @@ class ImageItem(GraphicsObject):
return self.menu return self.menu
def hoverEvent(self, ev): def hoverEvent(self, ev):
if not ev.isExit() and self.drawKernel is not None and ev.acceptDrags(QtCore.Qt.LeftButton): if not ev.isExit() and self.drawKernel is not None and ev.acceptDrags(QtCore.Qt.MouseButton.LeftButton):
ev.acceptClicks(QtCore.Qt.LeftButton) ## we don't use the click, but we also don't want anyone else to use it. ev.acceptClicks(QtCore.Qt.MouseButton.LeftButton) ## we don't use the click, but we also don't want anyone else to use it.
ev.acceptClicks(QtCore.Qt.RightButton) ev.acceptClicks(QtCore.Qt.MouseButton.RightButton)
elif not ev.isExit() and self.removable: elif not ev.isExit() and self.removable:
ev.acceptClicks(QtCore.Qt.RightButton) ## accept context menu clicks ev.acceptClicks(QtCore.Qt.MouseButton.RightButton) ## accept context menu clicks
def tabletEvent(self, ev): def tabletEvent(self, ev):
pass pass

View File

@ -283,7 +283,7 @@ class InfiniteLine(GraphicsObject):
## broken in 4.7 ## broken in 4.7
#def itemChange(self, change, val): #def itemChange(self, change, val):
#if change in [self.ItemScenePositionHasChanged, self.ItemSceneHasChanged]: #if change in [self.GraphicsItemChange.ItemScenePositionHasChanged, self.GraphicsItemChange.ItemSceneHasChanged]:
#self.updateLine() #self.updateLine()
#print "update", change #print "update", change
#print self.getBoundingParents() #print self.getBoundingParents()
@ -339,11 +339,11 @@ class InfiniteLine(GraphicsObject):
return self._boundingRect return self._boundingRect
def paint(self, p, *args): def paint(self, p, *args):
p.setRenderHint(p.Antialiasing) p.setRenderHint(p.RenderHint.Antialiasing)
left, right = self._endPoints left, right = self._endPoints
pen = self.currentPen pen = self.currentPen
pen.setJoinStyle(QtCore.Qt.MiterJoin) pen.setJoinStyle(QtCore.Qt.PenJoinStyle.MiterJoin)
p.setPen(pen) p.setPen(pen)
p.drawLine(Point(left, 0), Point(right, 0)) p.drawLine(Point(left, 0), Point(right, 0))
@ -386,7 +386,7 @@ class InfiniteLine(GraphicsObject):
return (0,0) return (0,0)
def mouseDragEvent(self, ev): def mouseDragEvent(self, ev):
if self.movable and ev.button() == QtCore.Qt.LeftButton: if self.movable and ev.button() == QtCore.Qt.MouseButton.LeftButton:
if ev.isStart(): if ev.isStart():
self.moving = True self.moving = True
self.cursorOffset = self.pos() - self.mapToParent(ev.buttonDownPos()) self.cursorOffset = self.pos() - self.mapToParent(ev.buttonDownPos())
@ -404,7 +404,7 @@ class InfiniteLine(GraphicsObject):
def mouseClickEvent(self, ev): def mouseClickEvent(self, ev):
self.sigClicked.emit(self, ev) self.sigClicked.emit(self, ev)
if self.moving and ev.button() == QtCore.Qt.RightButton: if self.moving and ev.button() == QtCore.Qt.MouseButton.RightButton:
ev.accept() ev.accept()
self.setPos(self.startPosition) self.setPos(self.startPosition)
self.moving = False self.moving = False
@ -412,7 +412,7 @@ class InfiniteLine(GraphicsObject):
self.sigPositionChangeFinished.emit(self) self.sigPositionChangeFinished.emit(self)
def hoverEvent(self, ev): def hoverEvent(self, ev):
if (not ev.isExit()) and self.movable and ev.acceptDrags(QtCore.Qt.LeftButton): if (not ev.isExit()) and self.movable and ev.acceptDrags(QtCore.Qt.MouseButton.LeftButton):
self.setMouseHover(True) self.setMouseHover(True)
else: else:
self.setMouseHover(False) self.setMouseHover(False)
@ -582,7 +582,7 @@ class InfLineLabel(TextItem):
self.valueChanged() self.valueChanged()
def mouseDragEvent(self, ev): def mouseDragEvent(self, ev):
if self.movable and ev.button() == QtCore.Qt.LeftButton: if self.movable and ev.button() == QtCore.Qt.MouseButton.LeftButton:
if ev.isStart(): if ev.isStart():
self._moving = True self._moving = True
self._cursorOffset = self._posToRel(ev.buttonDownPos()) self._cursorOffset = self._posToRel(ev.buttonDownPos())
@ -599,14 +599,14 @@ class InfLineLabel(TextItem):
self._moving = False self._moving = False
def mouseClickEvent(self, ev): def mouseClickEvent(self, ev):
if self.moving and ev.button() == QtCore.Qt.RightButton: if self.moving and ev.button() == QtCore.Qt.MouseButton.RightButton:
ev.accept() ev.accept()
self.orthoPos = self._startPosition self.orthoPos = self._startPosition
self.moving = False self.moving = False
def hoverEvent(self, ev): def hoverEvent(self, ev):
if not ev.isExit() and self.movable: if not ev.isExit() and self.movable:
ev.acceptDrags(QtCore.Qt.LeftButton) ev.acceptDrags(QtCore.Qt.MouseButton.LeftButton)
def viewTransformChanged(self): def viewTransformChanged(self):
GraphicsItem.viewTransformChanged(self) GraphicsItem.viewTransformChanged(self)

View File

@ -10,7 +10,7 @@ class ItemGroup(GraphicsObject):
def __init__(self, *args): def __init__(self, *args):
GraphicsObject.__init__(self, *args) GraphicsObject.__init__(self, *args)
if hasattr(self, "ItemHasNoContents"): if hasattr(self, "ItemHasNoContents"):
self.setFlag(self.ItemHasNoContents) self.setFlag(self.GraphicsItemFlag.ItemHasNoContents)
def boundingRect(self): def boundingRect(self):
return QtCore.QRectF() return QtCore.QRectF()

View File

@ -119,10 +119,10 @@ class LabelItem(GraphicsWidget, GraphicsWidgetAnchor):
self.setMinimumHeight(bounds.height()) self.setMinimumHeight(bounds.height())
self._sizeHint = { self._sizeHint = {
QtCore.Qt.MinimumSize: (bounds.width(), bounds.height()), QtCore.Qt.SizeHint.MinimumSize: (bounds.width(), bounds.height()),
QtCore.Qt.PreferredSize: (bounds.width(), bounds.height()), QtCore.Qt.SizeHint.PreferredSize: (bounds.width(), bounds.height()),
QtCore.Qt.MaximumSize: (-1, -1), #bounds.width()*2, bounds.height()*2), QtCore.Qt.SizeHint.MaximumSize: (-1, -1), #bounds.width()*2, bounds.height()*2),
QtCore.Qt.MinimumDescent: (0, 0) ##?? what is this? QtCore.Qt.SizeHint.MinimumDescent: (0, 0) ##?? what is this?
} }
self.updateGeometry() self.updateGeometry()

View File

@ -65,7 +65,7 @@ class LegendItem(GraphicsWidget, GraphicsWidgetAnchor):
""" """
GraphicsWidget.__init__(self) GraphicsWidget.__init__(self)
GraphicsWidgetAnchor.__init__(self) GraphicsWidgetAnchor.__init__(self)
self.setFlag(self.ItemIgnoresTransformations) self.setFlag(self.GraphicsItemFlag.ItemIgnoresTransformations)
self.layout = QtGui.QGraphicsGridLayout() self.layout = QtGui.QGraphicsGridLayout()
self.layout.setVerticalSpacing(verSpacing) self.layout.setVerticalSpacing(verSpacing)
self.layout.setHorizontalSpacing(horSpacing) self.layout.setHorizontalSpacing(horSpacing)
@ -326,10 +326,10 @@ class LegendItem(GraphicsWidget, GraphicsWidgetAnchor):
p.drawRect(self.boundingRect()) p.drawRect(self.boundingRect())
def hoverEvent(self, ev): def hoverEvent(self, ev):
ev.acceptDrags(QtCore.Qt.LeftButton) ev.acceptDrags(QtCore.Qt.MouseButton.LeftButton)
def mouseDragEvent(self, ev): def mouseDragEvent(self, ev):
if ev.button() == QtCore.Qt.LeftButton: if ev.button() == QtCore.Qt.MouseButton.LeftButton:
ev.accept() ev.accept()
dpos = ev.pos() - ev.lastPos() dpos = ev.pos() - ev.lastPos()
self.autoAnchor(self.pos() + dpos) self.autoAnchor(self.pos() + dpos)
@ -349,7 +349,7 @@ class ItemSample(GraphicsWidget):
def paint(self, p, *args): def paint(self, p, *args):
opts = self.item.opts opts = self.item.opts
if opts.get('antialias'): if opts.get('antialias'):
p.setRenderHint(p.Antialiasing) p.setRenderHint(p.RenderHint.Antialiasing)
visible = self.item.isVisible() visible = self.item.isVisible()
if not visible: if not visible:
@ -384,7 +384,7 @@ class ItemSample(GraphicsWidget):
def mouseClickEvent(self, event): def mouseClickEvent(self, event):
"""Use the mouseClick event to toggle the visibility of the plotItem """Use the mouseClick event to toggle the visibility of the plotItem
""" """
if event.button() == QtCore.Qt.LeftButton: if event.button() == QtCore.Qt.MouseButton.LeftButton:
visible = self.item.isVisible() visible = self.item.isVisible()
self.item.setVisible(not visible) self.item.setVisible(not visible)

View File

@ -253,7 +253,7 @@ class LinearRegionItem(GraphicsObject):
self.sigRegionChangeFinished.emit(self) self.sigRegionChangeFinished.emit(self)
def mouseDragEvent(self, ev): def mouseDragEvent(self, ev):
if not self.movable or ev.button() != QtCore.Qt.LeftButton: if not self.movable or ev.button() != QtCore.Qt.MouseButton.LeftButton:
return return
ev.accept() ev.accept()
@ -279,7 +279,7 @@ class LinearRegionItem(GraphicsObject):
self.sigRegionChanged.emit(self) self.sigRegionChanged.emit(self)
def mouseClickEvent(self, ev): def mouseClickEvent(self, ev):
if self.moving and ev.button() == QtCore.Qt.RightButton: if self.moving and ev.button() == QtCore.Qt.MouseButton.RightButton:
ev.accept() ev.accept()
for i, l in enumerate(self.lines): for i, l in enumerate(self.lines):
l.setPos(self.startPositions[i]) l.setPos(self.startPositions[i])
@ -288,7 +288,7 @@ class LinearRegionItem(GraphicsObject):
self.sigRegionChangeFinished.emit(self) self.sigRegionChangeFinished.emit(self)
def hoverEvent(self, ev): def hoverEvent(self, ev):
if self.movable and (not ev.isExit()) and ev.acceptDrags(QtCore.Qt.LeftButton): if self.movable and (not ev.isExit()) and ev.acceptDrags(QtCore.Qt.MouseButton.LeftButton):
self.setMouseHover(True) self.setMouseHover(True)
else: else:
self.setMouseHover(False) self.setMouseHover(False)

View File

@ -183,7 +183,7 @@ class PColorMeshItem(GraphicsObject):
else: else:
p.setPen(fn.mkPen(self.edgecolors)) p.setPen(fn.mkPen(self.edgecolors))
if self.antialiasing: if self.antialiasing:
p.setRenderHint(QtGui.QPainter.Antialiasing) p.setRenderHint(QtGui.QPainter.RenderHint.Antialiasing)
## Prepare colormap ## Prepare colormap

View File

@ -51,7 +51,7 @@ class PlotCurveItem(GraphicsObject):
self.clear() self.clear()
## this is disastrous for performance. ## this is disastrous for performance.
#self.setCacheMode(QtGui.QGraphicsItem.DeviceCoordinateCache) #self.setCacheMode(QtGui.QGraphicsItem.CacheMode.DeviceCoordinateCache)
self.metaData = {} self.metaData = {}
self.opts = { self.opts = {
@ -99,14 +99,14 @@ class PlotCurveItem(GraphicsObject):
============================================ ============================================================ ============================================ ============================================================
**Most common arguments:** **Most common arguments:**
QtGui.QPainter.CompositionMode_SourceOver Default; image replaces the background if it QtGui.QPainter.CompositionMode.CompositionMode_SourceOver Default; image replaces the background if it
is opaque. Otherwise, it uses the alpha channel to blend is opaque. Otherwise, it uses the alpha channel to blend
the image with the background. the image with the background.
QtGui.QPainter.CompositionMode_Overlay The image color is mixed with the background color to QtGui.QPainter.CompositionMode.CompositionMode_Overlay The image color is mixed with the background color to
reflect the lightness or darkness of the background. reflect the lightness or darkness of the background.
QtGui.QPainter.CompositionMode_Plus Both the alpha and color of the image and background pixels QtGui.QPainter.CompositionMode.CompositionMode_Plus Both the alpha and color of the image and background pixels
are added together. are added together.
QtGui.QPainter.CompositionMode_Multiply The output is the image color multiplied by the background. QtGui.QPainter.CompositionMode.CompositionMode_Multiply The output is the image color multiplied by the background.
============================================ ============================================================ ============================================ ============================================================
""" """
self.opts['compositionMode'] = mode self.opts['compositionMode'] = mode
@ -178,7 +178,7 @@ class PlotCurveItem(GraphicsObject):
spen = self.opts['shadowPen'] spen = self.opts['shadowPen']
if not pen.isCosmetic(): if not pen.isCosmetic():
b = (b[0] - pen.widthF()*0.7072, b[1] + pen.widthF()*0.7072) b = (b[0] - pen.widthF()*0.7072, b[1] + pen.widthF()*0.7072)
if spen is not None and not spen.isCosmetic() and spen.style() != QtCore.Qt.NoPen: if spen is not None and not spen.isCosmetic() and spen.style() != QtCore.Qt.PenStyle.NoPen:
b = (b[0] - spen.widthF()*0.7072, b[1] + spen.widthF()*0.7072) b = (b[0] - spen.widthF()*0.7072, b[1] + spen.widthF()*0.7072)
self._boundsCache[ax] = [(frac, orthoRange), b] self._boundsCache[ax] = [(frac, orthoRange), b]
@ -190,7 +190,7 @@ class PlotCurveItem(GraphicsObject):
w = 0 w = 0
if pen.isCosmetic(): if pen.isCosmetic():
w += pen.widthF()*0.7072 w += pen.widthF()*0.7072
if spen is not None and spen.isCosmetic() and spen.style() != QtCore.Qt.NoPen: if spen is not None and spen.isCosmetic() and spen.style() != QtCore.Qt.PenStyle.NoPen:
w = max(w, spen.widthF()*0.7072) w = max(w, spen.widthF()*0.7072)
if self.clickable: if self.clickable:
w = max(w, self.opts['mouseWidth']//2 + 1) w = max(w, self.opts['mouseWidth']//2 + 1)
@ -382,7 +382,7 @@ class PlotCurveItem(GraphicsObject):
profiler("data checks") profiler("data checks")
#self.setCacheMode(QtGui.QGraphicsItem.NoCache) ## Disabling and re-enabling the cache works around a bug in Qt 4.6 causing the cached results to display incorrectly #self.setCacheMode(QtGui.QGraphicsItem.CacheMode.NoCache) ## Disabling and re-enabling the cache works around a bug in Qt 4.6 causing the cached results to display incorrectly
## Test this bug with test_PlotWidget and zoom in on the animated plot ## Test this bug with test_PlotWidget and zoom in on the animated plot
self.yData = kargs['y'].view(np.ndarray) self.yData = kargs['y'].view(np.ndarray)
self.xData = kargs['x'].view(np.ndarray) self.xData = kargs['x'].view(np.ndarray)
@ -507,7 +507,7 @@ class PlotCurveItem(GraphicsObject):
else: else:
aa = self.opts['antialias'] aa = self.opts['antialias']
p.setRenderHint(p.Antialiasing, aa) p.setRenderHint(p.RenderHint.Antialiasing, aa)
cmode = self.opts['compositionMode'] cmode = self.opts['compositionMode']
if cmode is not None: if cmode is not None:
@ -536,7 +536,7 @@ class PlotCurveItem(GraphicsObject):
else: else:
sp = fn.mkPen(self.opts['shadowPen']) sp = fn.mkPen(self.opts['shadowPen'])
if sp.style() != QtCore.Qt.NoPen: if sp.style() != QtCore.Qt.PenStyle.NoPen:
p.setPen(sp) p.setPen(sp)
p.drawPath(path) p.drawPath(path)
@ -643,7 +643,7 @@ class PlotCurveItem(GraphicsObject):
return self._mouseShape return self._mouseShape
def mouseClickEvent(self, ev): def mouseClickEvent(self, ev):
if not self.clickable or ev.button() != QtCore.Qt.LeftButton: if not self.clickable or ev.button() != QtCore.Qt.MouseButton.LeftButton:
return return
if self.mouseShape().contains(ev.pos()): if self.mouseShape().contains(ev.pos()):
ev.accept() ev.accept()

View File

@ -155,7 +155,7 @@ class PlotDataItem(GraphicsObject):
========== ================================================ ========== ================================================
""" """
GraphicsObject.__init__(self) GraphicsObject.__init__(self)
self.setFlag(self.ItemHasNoContents) self.setFlag(self.GraphicsItemFlag.ItemHasNoContents)
self.xData = None self.xData = None
self.yData = None self.yData = None
self.xDisp = None self.xDisp = None

View File

@ -113,7 +113,7 @@ class PlotItem(GraphicsWidget):
GraphicsWidget.__init__(self, parent) GraphicsWidget.__init__(self, parent)
self.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) self.setSizePolicy(QtGui.QSizePolicy.Policy.Expanding, QtGui.QSizePolicy.Policy.Expanding)
## Set up control buttons ## Set up control buttons
path = os.path.dirname(__file__) path = os.path.dirname(__file__)
@ -333,11 +333,9 @@ class PlotItem(GraphicsWidget):
axis.linkToView(self.vb) axis.linkToView(self.vb)
self.axes[k] = {'item': axis, 'pos': pos} self.axes[k] = {'item': axis, 'pos': pos}
self.layout.addItem(axis, *pos) self.layout.addItem(axis, *pos)
# axis.setZValue(-1000)
# place axis above images at z=0, items that want to draw over the axes should be placed at z>=1: # place axis above images at z=0, items that want to draw over the axes should be placed at z>=1:
axis.setZValue(0.5) axis.setZValue(0.5)
axis.setFlag(axis.ItemNegativeZStacksBehindParent) axis.setFlag(axis.GraphicsItemFlag.ItemNegativeZStacksBehindParent)
axisVisible = k in visibleAxes axisVisible = k in visibleAxes
self.showAxis(k, axisVisible) self.showAxis(k, axisVisible)
@ -428,7 +426,7 @@ class PlotItem(GraphicsWidget):
def avgParamListClicked(self, item): def avgParamListClicked(self, item):
name = str(item.text()) name = str(item.text())
self.paramList[name] = (item.checkState() == QtCore.Qt.Checked) self.paramList[name] = (item.checkState() == QtCore.Qt.CheckState.Checked)
self.recomputeAverages() self.recomputeAverages()
def recomputeAverages(self): def recomputeAverages(self):
@ -452,7 +450,7 @@ class PlotItem(GraphicsWidget):
### First determine the key of the curve to which this new data should be averaged ### First determine the key of the curve to which this new data should be averaged
for i in range(self.ctrl.avgParamList.count()): for i in range(self.ctrl.avgParamList.count()):
item = self.ctrl.avgParamList.item(i) item = self.ctrl.avgParamList.item(i)
if item.checkState() == QtCore.Qt.Checked: if item.checkState() == QtCore.Qt.CheckState.Checked:
remKeys.append(str(item.text())) remKeys.append(str(item.text()))
else: else:
addKeys.append(str(item.text())) addKeys.append(str(item.text()))
@ -709,18 +707,18 @@ class PlotItem(GraphicsWidget):
p = '.'.join(p) p = '.'.join(p)
## If the parameter is not in the list, add it. ## If the parameter is not in the list, add it.
matches = self.ctrl.avgParamList.findItems(p, QtCore.Qt.MatchExactly) matches = self.ctrl.avgParamList.findItems(p, QtCore.Qt.MatchFlag.MatchExactly)
if len(matches) == 0: if len(matches) == 0:
i = QtGui.QListWidgetItem(p) i = QtGui.QListWidgetItem(p)
if p in self.paramList and self.paramList[p] is True: if p in self.paramList and self.paramList[p] is True:
i.setCheckState(QtCore.Qt.Checked) i.setCheckState(QtCore.Qt.CheckState.Checked)
else: else:
i.setCheckState(QtCore.Qt.Unchecked) i.setCheckState(QtCore.Qt.CheckState.Unchecked)
self.ctrl.avgParamList.addItem(i) self.ctrl.avgParamList.addItem(i)
else: else:
i = matches[0] i = matches[0]
self.paramList[p] = (i.checkState() == QtCore.Qt.Checked) self.paramList[p] = (i.checkState() == QtCore.Qt.CheckState.Checked)
def writeSvgCurves(self, fileName=None): def writeSvgCurves(self, fileName=None):
if fileName is None: if fileName is None:
@ -1304,7 +1302,7 @@ class PlotItem(GraphicsWidget):
self.fileDialog = FileDialog() self.fileDialog = FileDialog()
if PlotItem.lastFileDir is not None: if PlotItem.lastFileDir is not None:
self.fileDialog.setDirectory(PlotItem.lastFileDir) self.fileDialog.setDirectory(PlotItem.lastFileDir)
self.fileDialog.setFileMode(QtGui.QFileDialog.AnyFile) self.fileDialog.setFileMode(QtGui.QFileDialog.FileMode.AnyFile)
self.fileDialog.setAcceptMode(QtGui.QFileDialog.AcceptSave) self.fileDialog.setAcceptMode(QtGui.QFileDialog.AcceptMode.AcceptSave)
self.fileDialog.show() self.fileDialog.show()
self.fileDialog.fileSelected.connect(handler) self.fileDialog.fileSelected.connect(handler)

View File

@ -61,7 +61,7 @@ class Ui_Form(object):
self.autoDownsampleCheck.setChecked(True) self.autoDownsampleCheck.setChecked(True)
self.autoDownsampleCheck.setObjectName("autoDownsampleCheck") self.autoDownsampleCheck.setObjectName("autoDownsampleCheck")
self.gridLayout_4.addWidget(self.autoDownsampleCheck, 1, 2, 1, 1) self.gridLayout_4.addWidget(self.autoDownsampleCheck, 1, 2, 1, 1)
spacerItem = QtWidgets.QSpacerItem(30, 20, QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Policy.Minimum) spacerItem = QtWidgets.QSpacerItem(30, 20, QtWidgets.QSizePolicy.Policy.Maximum, QtWidgets.QSizePolicy.Policy.Minimum)
self.gridLayout_4.addItem(spacerItem, 2, 0, 1, 1) self.gridLayout_4.addItem(spacerItem, 2, 0, 1, 1)
self.downsampleSpin = QtWidgets.QSpinBox(self.decimateGroup) self.downsampleSpin = QtWidgets.QSpinBox(self.decimateGroup)
self.downsampleSpin.setMinimum(1) self.downsampleSpin.setMinimum(1)

View File

@ -86,7 +86,7 @@ class Ui_Form(object):
self.gridLayout_4.addWidget(self.autoDownsampleCheck, 1, 2, 1, 1) self.gridLayout_4.addWidget(self.autoDownsampleCheck, 1, 2, 1, 1)
self.horizontalSpacer = QSpacerItem(30, 20, QSizePolicy.Maximum, QSizePolicy.Minimum) self.horizontalSpacer = QSpacerItem(30, 20, QSizePolicy.Policy.Maximum, QSizePolicy.Policy.Minimum)
self.gridLayout_4.addItem(self.horizontalSpacer, 2, 0, 1, 1) self.gridLayout_4.addItem(self.horizontalSpacer, 2, 0, 1, 1)
@ -161,7 +161,7 @@ class Ui_Form(object):
self.gridAlphaSlider.setObjectName(u"gridAlphaSlider") self.gridAlphaSlider.setObjectName(u"gridAlphaSlider")
self.gridAlphaSlider.setMaximum(255) self.gridAlphaSlider.setMaximum(255)
self.gridAlphaSlider.setValue(128) self.gridAlphaSlider.setValue(128)
self.gridAlphaSlider.setOrientation(Qt.Horizontal) self.gridAlphaSlider.setOrientation(Qt.Orientation.Horizontal)
self.gridLayout_2.addWidget(self.gridAlphaSlider, 2, 1, 1, 1) self.gridLayout_2.addWidget(self.gridAlphaSlider, 2, 1, 1, 1)
@ -186,7 +186,7 @@ class Ui_Form(object):
self.alphaSlider.setObjectName(u"alphaSlider") self.alphaSlider.setObjectName(u"alphaSlider")
self.alphaSlider.setMaximum(1000) self.alphaSlider.setMaximum(1000)
self.alphaSlider.setValue(1000) self.alphaSlider.setValue(1000)
self.alphaSlider.setOrientation(Qt.Horizontal) self.alphaSlider.setOrientation(Qt.Orientation.Horizontal)
self.horizontalLayout.addWidget(self.alphaSlider) self.horizontalLayout.addWidget(self.alphaSlider)

View File

@ -122,7 +122,7 @@ class ROI(GraphicsObject):
Note that clicking is disabled by default to prevent Note that clicking is disabled by default to prevent
stealing clicks from objects behind the ROI. To stealing clicks from objects behind the ROI. To
enable clicking, call enable clicking, call
roi.setAcceptedMouseButtons(QtCore.Qt.LeftButton). roi.setAcceptedMouseButtons(QtCore.Qt.MouseButton.LeftButton).
See QtGui.QGraphicsItem documentation for more See QtGui.QGraphicsItem documentation for more
details. details.
sigRemoveRequested Emitted when the user selects 'remove' from the sigRemoveRequested Emitted when the user selects 'remove' from the
@ -144,7 +144,7 @@ class ROI(GraphicsObject):
movable=True, rotatable=True, resizable=True, removable=False, movable=True, rotatable=True, resizable=True, removable=False,
aspectLocked=False): aspectLocked=False):
GraphicsObject.__init__(self, parent) GraphicsObject.__init__(self, parent)
self.setAcceptedMouseButtons(QtCore.Qt.NoButton) self.setAcceptedMouseButtons(QtCore.Qt.MouseButton.NoButton)
pos = Point(pos) pos = Point(pos)
size = Point(size) size = Point(size)
self.aspectLocked = aspectLocked self.aspectLocked = aspectLocked
@ -722,20 +722,20 @@ class ROI(GraphicsObject):
def hoverEvent(self, ev): def hoverEvent(self, ev):
hover = False hover = False
if not ev.isExit(): if not ev.isExit():
if self.translatable and ev.acceptDrags(QtCore.Qt.LeftButton): if self.translatable and ev.acceptDrags(QtCore.Qt.MouseButton.LeftButton):
hover=True hover=True
for btn in [QtCore.Qt.LeftButton, QtCore.Qt.RightButton, QtCore.Qt.MiddleButton]: for btn in [QtCore.Qt.MouseButton.LeftButton, QtCore.Qt.MouseButton.RightButton, QtCore.Qt.MouseButton.MiddleButton]:
if (self.acceptedMouseButtons() & btn) and ev.acceptClicks(btn): if (self.acceptedMouseButtons() & btn) and ev.acceptClicks(btn):
hover=True hover=True
if self.contextMenuEnabled(): if self.contextMenuEnabled():
ev.acceptClicks(QtCore.Qt.RightButton) ev.acceptClicks(QtCore.Qt.MouseButton.RightButton)
if hover: if hover:
self.setMouseHover(True) self.setMouseHover(True)
ev.acceptClicks(QtCore.Qt.LeftButton) ## If the ROI is hilighted, we should accept all clicks to avoid confusion. ev.acceptClicks(QtCore.Qt.MouseButton.LeftButton) ## If the ROI is hilighted, we should accept all clicks to avoid confusion.
ev.acceptClicks(QtCore.Qt.RightButton) ev.acceptClicks(QtCore.Qt.MouseButton.RightButton)
ev.acceptClicks(QtCore.Qt.MiddleButton) ev.acceptClicks(QtCore.Qt.MouseButton.MiddleButton)
self.sigHoverEvent.emit(self) self.sigHoverEvent.emit(self)
else: else:
self.setMouseHover(False) self.setMouseHover(False)
@ -806,10 +806,10 @@ class ROI(GraphicsObject):
), ),
category=DeprecationWarning category=DeprecationWarning
) )
if ev.button() == QtCore.Qt.RightButton and self.isMoving: if ev.button() == QtCore.Qt.MouseButton.RightButton and self.isMoving:
ev.accept() ev.accept()
self.cancelMove() self.cancelMove()
if ev.button() == QtCore.Qt.RightButton and self.contextMenuEnabled(): if ev.button() == QtCore.Qt.MouseButton.RightButton and self.contextMenuEnabled():
self.raiseContextMenu(ev) self.raiseContextMenu(ev)
ev.accept() ev.accept()
elif ev.button() & self.acceptedMouseButtons(): elif ev.button() & self.acceptedMouseButtons():
@ -870,7 +870,7 @@ class ROI(GraphicsObject):
lp1 = self.mapFromParent(p1) - cs lp1 = self.mapFromParent(p1) - cs
if h['type'] == 't': if h['type'] == 't':
snap = True if (modifiers & QtCore.Qt.ControlModifier) else None snap = True if (modifiers & QtCore.Qt.KeyboardModifier.ControlModifier) else None
self.translate(p1-p0, snap=snap, update=False) self.translate(p1-p0, snap=snap, update=False)
elif h['type'] == 'f': elif h['type'] == 'f':
@ -887,12 +887,12 @@ class ROI(GraphicsObject):
lp1[1] = 0 lp1[1] = 0
## snap ## snap
if self.scaleSnap or (modifiers & QtCore.Qt.ControlModifier): if self.scaleSnap or (modifiers & QtCore.Qt.KeyboardModifier.ControlModifier):
lp1[0] = round(lp1[0] / self.scaleSnapSize) * self.scaleSnapSize lp1[0] = round(lp1[0] / self.scaleSnapSize) * self.scaleSnapSize
lp1[1] = round(lp1[1] / self.scaleSnapSize) * self.scaleSnapSize lp1[1] = round(lp1[1] / self.scaleSnapSize) * self.scaleSnapSize
## preserve aspect ratio (this can override snapping) ## preserve aspect ratio (this can override snapping)
if h['lockAspect'] or (modifiers & QtCore.Qt.AltModifier): if h['lockAspect'] or (modifiers & QtCore.Qt.KeyboardModifier.AltModifier):
#arv = Point(self.preMoveState['size']) - #arv = Point(self.preMoveState['size']) -
lp1 = lp1.proj(lp0) lp1 = lp1.proj(lp0)
@ -950,7 +950,7 @@ class ROI(GraphicsObject):
ang = newState['angle'] - lp0.angle(lp1) ang = newState['angle'] - lp0.angle(lp1)
if ang is None: ## this should never happen.. if ang is None: ## this should never happen..
return return
if self.rotateSnap or (modifiers & QtCore.Qt.ControlModifier): if self.rotateSnap or (modifiers & QtCore.Qt.KeyboardModifier.ControlModifier):
ang = round(ang / self.rotateSnapAngle) * self.rotateSnapAngle ang = round(ang / self.rotateSnapAngle) * self.rotateSnapAngle
## create rotation transform ## create rotation transform
@ -986,7 +986,7 @@ class ROI(GraphicsObject):
ang = newState['angle'] - lp0.angle(lp1) ang = newState['angle'] - lp0.angle(lp1)
if ang is None: if ang is None:
return return
if self.rotateSnap or (modifiers & QtCore.Qt.ControlModifier): if self.rotateSnap or (modifiers & QtCore.Qt.KeyboardModifier.ControlModifier):
ang = round(ang / self.rotateSnapAngle) * self.rotateSnapAngle ang = round(ang / self.rotateSnapAngle) * self.rotateSnapAngle
if self.aspectLocked or h['center'][0] != h['pos'][0]: if self.aspectLocked or h['center'][0] != h['pos'][0]:
@ -1087,7 +1087,7 @@ class ROI(GraphicsObject):
# Note: don't use self.boundingRect here, because subclasses may need to redefine it. # Note: don't use self.boundingRect here, because subclasses may need to redefine it.
r = QtCore.QRectF(0, 0, self.state['size'][0], self.state['size'][1]).normalized() r = QtCore.QRectF(0, 0, self.state['size'][0], self.state['size'][1]).normalized()
p.setRenderHint(QtGui.QPainter.Antialiasing) p.setRenderHint(QtGui.QPainter.RenderHint.Antialiasing)
p.setPen(self.currentPen) p.setPen(self.currentPen)
p.translate(r.left(), r.top()) p.translate(r.left(), r.top())
p.scale(r.width(), r.height()) p.scale(r.width(), r.height())
@ -1292,7 +1292,7 @@ class ROI(GraphicsObject):
if width == 0 or height == 0: if width == 0 or height == 0:
return np.empty((width, height), dtype=float) return np.empty((width, height), dtype=float)
im = QtGui.QImage(width, height, QtGui.QImage.Format_ARGB32) im = QtGui.QImage(width, height, QtGui.QImage.Format.Format_ARGB32)
im.fill(0x0) im.fill(0x0)
p = QtGui.QPainter(im) p = QtGui.QPainter(im)
p.setPen(fn.mkPen(None)) p.setPen(fn.mkPen(None))
@ -1372,10 +1372,10 @@ class Handle(UIGraphicsItem):
self.menu = self.buildMenu() self.menu = self.buildMenu()
UIGraphicsItem.__init__(self, parent=parent) UIGraphicsItem.__init__(self, parent=parent)
self.setAcceptedMouseButtons(QtCore.Qt.NoButton) self.setAcceptedMouseButtons(QtCore.Qt.MouseButton.NoButton)
self.deletable = deletable self.deletable = deletable
if deletable: if deletable:
self.setAcceptedMouseButtons(QtCore.Qt.RightButton) self.setAcceptedMouseButtons(QtCore.Qt.MouseButton.RightButton)
self.setZValue(11) self.setZValue(11)
def connectROI(self, roi): def connectROI(self, roi):
@ -1388,9 +1388,9 @@ class Handle(UIGraphicsItem):
def setDeletable(self, b): def setDeletable(self, b):
self.deletable = b self.deletable = b
if b: if b:
self.setAcceptedMouseButtons(self.acceptedMouseButtons() | QtCore.Qt.RightButton) self.setAcceptedMouseButtons(self.acceptedMouseButtons() | QtCore.Qt.MouseButton.RightButton)
else: else:
self.setAcceptedMouseButtons(self.acceptedMouseButtons() & ~QtCore.Qt.RightButton) self.setAcceptedMouseButtons(self.acceptedMouseButtons() & ~QtCore.Qt.MouseButton.RightButton)
def removeClicked(self): def removeClicked(self):
self.sigRemoveRequested.emit(self) self.sigRemoveRequested.emit(self)
@ -1398,9 +1398,9 @@ class Handle(UIGraphicsItem):
def hoverEvent(self, ev): def hoverEvent(self, ev):
hover = False hover = False
if not ev.isExit(): if not ev.isExit():
if ev.acceptDrags(QtCore.Qt.LeftButton): if ev.acceptDrags(QtCore.Qt.MouseButton.LeftButton):
hover=True hover=True
for btn in [QtCore.Qt.LeftButton, QtCore.Qt.RightButton, QtCore.Qt.MiddleButton]: for btn in [QtCore.Qt.MouseButton.LeftButton, QtCore.Qt.MouseButton.RightButton, QtCore.Qt.MouseButton.MiddleButton]:
if (self.acceptedMouseButtons() & btn) and ev.acceptClicks(btn): if (self.acceptedMouseButtons() & btn) and ev.acceptClicks(btn):
hover=True hover=True
@ -1423,13 +1423,13 @@ class Handle(UIGraphicsItem):
category=DeprecationWarning category=DeprecationWarning
) )
## right-click cancels drag ## right-click cancels drag
if ev.button() == QtCore.Qt.RightButton and self.isMoving: if ev.button() == QtCore.Qt.MouseButton.RightButton and self.isMoving:
self.isMoving = False ## prevents any further motion self.isMoving = False ## prevents any further motion
self.movePoint(self.startPos, finish=True) self.movePoint(self.startPos, finish=True)
ev.accept() ev.accept()
elif ev.button() & self.acceptedMouseButtons(): elif ev.button() & self.acceptedMouseButtons():
ev.accept() ev.accept()
if ev.button() == QtCore.Qt.RightButton and self.deletable: if ev.button() == QtCore.Qt.MouseButton.RightButton and self.deletable:
self.raiseContextMenu(ev) self.raiseContextMenu(ev)
self.sigClicked.emit(self, ev) self.sigClicked.emit(self, ev)
else: else:
@ -1454,7 +1454,7 @@ class Handle(UIGraphicsItem):
menu.popup(QtCore.QPoint(pos.x(), pos.y())) menu.popup(QtCore.QPoint(pos.x(), pos.y()))
def mouseDragEvent(self, ev): def mouseDragEvent(self, ev):
if ev.button() != QtCore.Qt.LeftButton: if ev.button() != QtCore.Qt.MouseButton.LeftButton:
return return
ev.accept() ev.accept()
@ -1515,7 +1515,7 @@ class Handle(UIGraphicsItem):
self.path.lineTo(x, y) self.path.lineTo(x, y)
def paint(self, p, opt, widget): def paint(self, p, opt, widget):
p.setRenderHints(p.Antialiasing, True) p.setRenderHints(p.RenderHint.Antialiasing, True)
p.setPen(self.currentPen) p.setPen(self.currentPen)
p.drawPath(self.shape()) p.drawPath(self.shape())
@ -1564,10 +1564,10 @@ class MouseDragHandler(object):
self.roi = roi self.roi = roi
self.dragMode = None self.dragMode = None
self.startState = None self.startState = None
self.snapModifier = QtCore.Qt.ControlModifier self.snapModifier = QtCore.Qt.KeyboardModifier.ControlModifier
self.translateModifier = QtCore.Qt.NoModifier self.translateModifier = QtCore.Qt.KeyboardModifier.NoModifier
self.rotateModifier = QtCore.Qt.AltModifier self.rotateModifier = QtCore.Qt.KeyboardModifier.AltModifier
self.scaleModifier = QtCore.Qt.ShiftModifier self.scaleModifier = QtCore.Qt.KeyboardModifier.ShiftModifier
self.rotateSpeed = 0.5 self.rotateSpeed = 0.5
self.scaleSpeed = 1.01 self.scaleSpeed = 1.01
@ -1575,7 +1575,7 @@ class MouseDragHandler(object):
roi = self.roi roi = self.roi
if ev.isStart(): if ev.isStart():
if ev.button() == QtCore.Qt.LeftButton: if ev.button() == QtCore.Qt.MouseButton.LeftButton:
roi.setSelected(True) roi.setSelected(True)
mods = ev.modifiers() & ~self.snapModifier mods = ev.modifiers() & ~self.snapModifier
if roi.translatable and mods == self.translateModifier: if roi.translatable and mods == self.translateModifier:
@ -1871,7 +1871,7 @@ class EllipseROI(ROI):
def paint(self, p, opt, widget): def paint(self, p, opt, widget):
r = self.boundingRect() r = self.boundingRect()
p.setRenderHint(QtGui.QPainter.Antialiasing) p.setRenderHint(QtGui.QPainter.RenderHint.Antialiasing)
p.setPen(self.currentPen) p.setPen(self.currentPen)
p.scale(r.width(), r.height())## workaround for GL bug p.scale(r.width(), r.height())## workaround for GL bug
@ -1989,7 +1989,7 @@ class PolygonROI(ROI):
return [p['item'].pos() for p in self.handles] return [p['item'].pos() for p in self.handles]
def paint(self, p, *args): def paint(self, p, *args):
p.setRenderHint(QtGui.QPainter.Antialiasing) p.setRenderHint(QtGui.QPainter.RenderHint.Antialiasing)
p.setPen(self.currentPen) p.setPen(self.currentPen)
for i in range(len(self.handles)): for i in range(len(self.handles)):
h1 = self.handles[i]['item'].pos() h1 = self.handles[i]['item'].pos()
@ -2103,11 +2103,11 @@ class PolyLineROI(ROI):
else: else:
self.segments.insert(index, seg) self.segments.insert(index, seg)
seg.sigClicked.connect(self.segmentClicked) seg.sigClicked.connect(self.segmentClicked)
seg.setAcceptedMouseButtons(QtCore.Qt.LeftButton) seg.setAcceptedMouseButtons(QtCore.Qt.MouseButton.LeftButton)
seg.setZValue(self.zValue()+1) seg.setZValue(self.zValue()+1)
for h in seg.handles: for h in seg.handles:
h['item'].setDeletable(True) h['item'].setDeletable(True)
h['item'].setAcceptedMouseButtons(h['item'].acceptedMouseButtons() | QtCore.Qt.LeftButton) ## have these handles take left clicks too, so that handles cannot be added on top of other handles h['item'].setAcceptedMouseButtons(h['item'].acceptedMouseButtons() | QtCore.Qt.MouseButton.LeftButton) ## have these handles take left clicks too, so that handles cannot be added on top of other handles
def setMouseHover(self, hover): def setMouseHover(self, hover):
## Inform all the ROI's segments that the mouse is(not) hovering over it ## Inform all the ROI's segments that the mouse is(not) hovering over it
@ -2245,7 +2245,7 @@ class LineSegmentROI(ROI):
self.movePoint(self.getHandles()[1], p2) self.movePoint(self.getHandles()[1], p2)
def paint(self, p, *args): def paint(self, p, *args):
p.setRenderHint(QtGui.QPainter.Antialiasing) p.setRenderHint(QtGui.QPainter.RenderHint.Antialiasing)
p.setPen(self.currentPen) p.setPen(self.currentPen)
h1 = self.endpoints[0].pos() h1 = self.endpoints[0].pos()
h2 = self.endpoints[1].pos() h2 = self.endpoints[1].pos()
@ -2320,7 +2320,7 @@ class _PolyLineSegment(LineSegmentROI):
# accept drags even though we discard them to prevent competition with parent ROI # accept drags even though we discard them to prevent competition with parent ROI
# (unless parent ROI is not movable) # (unless parent ROI is not movable)
if self.parentItem().translatable: if self.parentItem().translatable:
ev.acceptDrags(QtCore.Qt.LeftButton) ev.acceptDrags(QtCore.Qt.MouseButton.LeftButton)
return LineSegmentROI.hoverEvent(self, ev) return LineSegmentROI.hoverEvent(self, ev)
@ -2363,7 +2363,7 @@ class CrosshairROI(ROI):
def paint(self, p, *args): def paint(self, p, *args):
radius = self.getState()['size'][1] radius = self.getState()['size'][1]
p.setRenderHint(QtGui.QPainter.Antialiasing) p.setRenderHint(QtGui.QPainter.RenderHint.Antialiasing)
p.setPen(self.currentPen) p.setPen(self.currentPen)
p.drawLine(Point(0, -radius), Point(0, radius)) p.drawLine(Point(0, -radius), Point(0, radius))
@ -2389,7 +2389,7 @@ class RulerROI(LineSegmentROI):
p.resetTransform() p.resetTransform()
txt = fn.siFormat(length, suffix='m') + '\n%0.1f deg' % angle txt = fn.siFormat(length, suffix='m') + '\n%0.1f deg' % angle
p.drawText(QtCore.QRectF(pos.x()-50, pos.y()-50, 100, 100), QtCore.Qt.AlignCenter, txt) p.drawText(QtCore.QRectF(pos.x()-50, pos.y()-50, 100, 100), QtCore.Qt.AlignmentFlag.AlignCenter, txt)
def boundingRect(self): def boundingRect(self):
r = LineSegmentROI.boundingRect(self) r = LineSegmentROI.boundingRect(self)
@ -2422,7 +2422,7 @@ class TriangleROI(ROI):
def paint(self, p, *args): def paint(self, p, *args):
r = self.boundingRect() r = self.boundingRect()
p.setRenderHint(QtGui.QPainter.Antialiasing) p.setRenderHint(QtGui.QPainter.RenderHint.Antialiasing)
p.scale(r.width(), r.height()) p.scale(r.width(), r.height())
p.setPen(self.currentPen) p.setPen(self.currentPen)
p.drawPolygon(self.poly) p.drawPolygon(self.poly)

View File

@ -16,8 +16,8 @@ class ScaleBar(GraphicsObject, GraphicsWidgetAnchor):
def __init__(self, size, width=5, brush=None, pen=None, suffix='m', offset=None): def __init__(self, size, width=5, brush=None, pen=None, suffix='m', offset=None):
GraphicsObject.__init__(self) GraphicsObject.__init__(self)
GraphicsWidgetAnchor.__init__(self) GraphicsWidgetAnchor.__init__(self)
self.setFlag(self.ItemHasNoContents) self.setFlag(self.GraphicsItemFlag.ItemHasNoContents)
self.setAcceptedMouseButtons(QtCore.Qt.NoButton) self.setAcceptedMouseButtons(QtCore.Qt.MouseButton.NoButton)
if brush is None: if brush is None:
brush = getConfigOption('foreground') brush = getConfigOption('foreground')

View File

@ -119,11 +119,11 @@ def renderSymbol(symbol, size, pen, brush, device=None):
## Render a spot with the given parameters to a pixmap ## Render a spot with the given parameters to a pixmap
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_ARGB32) device = QtGui.QImage(int(size+penPxWidth), int(size+penPxWidth), QtGui.QImage.Format.Format_ARGB32)
device.fill(0) device.fill(0)
p = QtGui.QPainter(device) p = QtGui.QPainter(device)
try: try:
p.setRenderHint(p.Antialiasing) p.setRenderHint(p.RenderHint.Antialiasing)
p.translate(device.width()*0.5, device.height()*0.5) p.translate(device.width()*0.5, device.height()*0.5)
drawSymbol(p, symbol, size, pen, brush) drawSymbol(p, symbol, size, pen, brush)
finally: finally:
@ -1140,7 +1140,7 @@ class ScatterPlotItem(GraphicsObject):
else: else:
# render each symbol individually # render each symbol individually
p.setRenderHint(p.Antialiasing, aa) p.setRenderHint(p.RenderHint.Antialiasing, aa)
for pt, style in zip( for pt, style in zip(
pts[:, viewMask].T, pts[:, viewMask].T,
@ -1164,7 +1164,7 @@ class ScatterPlotItem(GraphicsObject):
drawSymbol(p2, *style) drawSymbol(p2, *style)
p2.end() p2.end()
p.setRenderHint(p.Antialiasing, aa) p.setRenderHint(p.RenderHint.Antialiasing, aa)
self.picture.play(p) self.picture.play(p)
def points(self): def points(self):
@ -1224,7 +1224,7 @@ class ScatterPlotItem(GraphicsObject):
& (self.data['y'] - h < b)) & (self.data['y'] - h < b))
def mouseClickEvent(self, ev): def mouseClickEvent(self, ev):
if ev.button() == QtCore.Qt.LeftButton: if ev.button() == QtCore.Qt.MouseButton.LeftButton:
pts = self.pointsAt(ev.pos()) pts = self.pointsAt(ev.pos())
if len(pts) > 0: if len(pts) > 0:
self.ptsClicked = pts self.ptsClicked = pts

View File

@ -247,7 +247,7 @@ class TargetItem(UIGraphicsItem):
return dti.map(tr.map(self._path)) return dti.map(tr.map(self._path))
def mouseDragEvent(self, ev): def mouseDragEvent(self, ev):
if not self.movable or int(ev.button() & QtCore.Qt.LeftButton) == 0: if not self.movable or int(ev.button() & QtCore.Qt.MouseButton.LeftButton) == 0:
return return
ev.accept() ev.accept()
if ev.isStart(): if ev.isStart():
@ -263,7 +263,7 @@ class TargetItem(UIGraphicsItem):
self.sigPositionChangeFinished.emit(self) self.sigPositionChangeFinished.emit(self)
def mouseClickEvent(self, ev): def mouseClickEvent(self, ev):
if self.moving and ev.button() == QtCore.Qt.RightButton: if self.moving and ev.button() == QtCore.Qt.MouseButton.RightButton:
ev.accept() ev.accept()
self.moving = False self.moving = False
self.sigPositionChanged.emit(self) self.sigPositionChanged.emit(self)
@ -283,7 +283,7 @@ class TargetItem(UIGraphicsItem):
self.update() self.update()
def hoverEvent(self, ev): def hoverEvent(self, ev):
if self.movable and (not ev.isExit()) and ev.acceptDrags(QtCore.Qt.LeftButton): if self.movable and (not ev.isExit()) and ev.acceptDrags(QtCore.Qt.MouseButton.LeftButton):
self.setMouseHover(True) self.setMouseHover(True)
else: else:
self.setMouseHover(False) self.setMouseHover(False)
@ -459,7 +459,7 @@ class TargetLabel(TextItem):
def mouseDragEvent(self, ev): def mouseDragEvent(self, ev):
targetItem = self.parentItem() targetItem = self.parentItem()
if not targetItem.movable or int(ev.button() & QtCore.Qt.LeftButton) == 0: if not targetItem.movable or int(ev.button() & QtCore.Qt.MouseButton.LeftButton) == 0:
return return
ev.accept() ev.accept()
if ev.isStart(): if ev.isStart():

View File

@ -171,10 +171,10 @@ class TextItem(GraphicsObject):
self.updateTransform() self.updateTransform()
p.setTransform(self.sceneTransform()) p.setTransform(self.sceneTransform())
if self.border.style() != QtCore.Qt.NoPen or self.fill.style() != QtCore.Qt.NoBrush: if self.border.style() != QtCore.Qt.PenStyle.NoPen or self.fill.style() != QtCore.Qt.BrushStyle.NoBrush:
p.setPen(self.border) p.setPen(self.border)
p.setBrush(self.fill) p.setBrush(self.fill)
p.setRenderHint(p.Antialiasing, True) p.setRenderHint(p.RenderHint.Antialiasing, True)
p.drawPolygon(self.textItem.mapToParent(self.textItem.boundingRect())) p.drawPolygon(self.textItem.mapToParent(self.textItem.boundingRect()))
def setVisible(self, v): def setVisible(self, v):

View File

@ -29,7 +29,7 @@ class UIGraphicsItem(GraphicsObject):
============== ============================================================================= ============== =============================================================================
""" """
GraphicsObject.__init__(self, parent) GraphicsObject.__init__(self, parent)
self.setFlag(self.ItemSendsScenePositionChanges) self.setFlag(self.GraphicsItemFlag.ItemSendsScenePositionChanges)
if bounds is None: if bounds is None:
self._bounds = QtCore.QRectF(0, 0, 1, 1) self._bounds = QtCore.QRectF(0, 0, 1, 1)
@ -49,10 +49,10 @@ class UIGraphicsItem(GraphicsObject):
## workaround for pyqt bug: ## workaround for pyqt bug:
## http://www.riverbankcomputing.com/pipermail/pyqt/2012-August/031818.html ## http://www.riverbankcomputing.com/pipermail/pyqt/2012-August/031818.html
if QT_LIB in ['PyQt4', 'PyQt5'] and change == self.ItemParentChange and isinstance(ret, QtGui.QGraphicsItem): if QT_LIB == 'PyQt5' and change == self.GraphicsItemChange.ItemParentChange and isinstance(ret, QtGui.QGraphicsItem):
ret = sip.cast(ret, QtGui.QGraphicsItem) ret = sip.cast(ret, QtGui.QGraphicsItem)
if change == self.ItemScenePositionHasChanged: if change == self.GraphicsItemChange.ItemScenePositionHasChanged:
self.setNewBounds() self.setNewBounds()
return ret return ret

View File

@ -56,7 +56,10 @@ class ChildGroup(ItemGroup):
def itemChange(self, change, value): def itemChange(self, change, value):
ret = ItemGroup.itemChange(self, change, value) ret = ItemGroup.itemChange(self, change, value)
if change == self.ItemChildAddedChange or change == self.ItemChildRemovedChange: if change in [
self.GraphicsItemChange.ItemChildAddedChange,
self.GraphicsItemChange.ItemChildRemovedChange,
]:
try: try:
itemsChangedListeners = self.itemsChangedListeners itemsChangedListeners = self.itemsChangedListeners
except AttributeError: except AttributeError:
@ -177,8 +180,8 @@ class ViewBox(GraphicsWidget):
self.locateGroup = None ## items displayed when using ViewBox.locate(item) self.locateGroup = None ## items displayed when using ViewBox.locate(item)
self.setFlag(self.ItemClipsChildrenToShape) self.setFlag(self.GraphicsItemFlag.ItemClipsChildrenToShape)
self.setFlag(self.ItemIsFocusable, True) ## so we can receive key presses self.setFlag(self.GraphicsItemFlag.ItemIsFocusable, True) ## so we can receive key presses
## childGroup is required so that ViewBox has local coordinates similar to device coordinates. ## childGroup is required so that ViewBox has local coordinates similar to device coordinates.
## this is a workaround for a Qt + OpenGL bug that causes improper clipping ## this is a workaround for a Qt + OpenGL bug that causes improper clipping
@ -217,7 +220,7 @@ class ViewBox(GraphicsWidget):
self.axHistoryPointer = -1 # pointer into the history. Allows forward/backward movement, not just "undo" self.axHistoryPointer = -1 # pointer into the history. Allows forward/backward movement, not just "undo"
self.setZValue(-100) self.setZValue(-100)
self.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)) self.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.Policy.Expanding, QtGui.QSizePolicy.Policy.Expanding))
self.setAspectLocked(lockAspect) self.setAspectLocked(lockAspect)
@ -1225,7 +1228,7 @@ class ViewBox(GraphicsWidget):
self.sigRangeChangedManually.emit(mask) self.sigRangeChangedManually.emit(mask)
def mouseClickEvent(self, ev): def mouseClickEvent(self, ev):
if ev.button() == QtCore.Qt.RightButton and self.menuEnabled(): if ev.button() == QtCore.Qt.MouseButton.RightButton and self.menuEnabled():
ev.accept() ev.accept()
self.raiseContextMenu(ev) self.raiseContextMenu(ev)
@ -1257,7 +1260,7 @@ class ViewBox(GraphicsWidget):
mask[1-axis] = 0.0 mask[1-axis] = 0.0
## Scale or translate based on mouse button ## Scale or translate based on mouse button
if ev.button() in [QtCore.Qt.LeftButton, QtCore.Qt.MiddleButton]: if ev.button() in [QtCore.Qt.MouseButton.LeftButton, QtCore.Qt.MouseButton.MiddleButton]:
if self.state['mouseMode'] == ViewBox.RectMode and axis is None: if self.state['mouseMode'] == ViewBox.RectMode and axis is None:
if ev.isFinish(): ## This is the final move in the drag; change the view scale now if ev.isFinish(): ## This is the final move in the drag; change the view scale now
#print "finish" #print "finish"
@ -1282,7 +1285,7 @@ class ViewBox(GraphicsWidget):
if x is not None or y is not None: if x is not None or y is not None:
self.translateBy(x=x, y=y) self.translateBy(x=x, y=y)
self.sigRangeChangedManually.emit(self.state['mouseEnabled']) self.sigRangeChangedManually.emit(self.state['mouseEnabled'])
elif ev.button() & QtCore.Qt.RightButton: elif ev.button() & QtCore.Qt.MouseButton.RightButton:
#print "vb.rightDrag" #print "vb.rightDrag"
if self.state['aspectLocked'] is not False: if self.state['aspectLocked'] is not False:
mask[0] = 0 mask[0] = 0
@ -1298,7 +1301,7 @@ class ViewBox(GraphicsWidget):
x = s[0] if mouseEnabled[0] == 1 else None x = s[0] if mouseEnabled[0] == 1 else None
y = s[1] if mouseEnabled[1] == 1 else None y = s[1] if mouseEnabled[1] == 1 else None
center = Point(tr.map(ev.buttonDownPos(QtCore.Qt.RightButton))) center = Point(tr.map(ev.buttonDownPos(QtCore.Qt.MouseButton.RightButton)))
self._resetTarget() self._resetTarget()
self.scaleBy(x=x, y=y, center=center) self.scaleBy(x=x, y=y, center=center)
self.sigRangeChangedManually.emit(self.state['mouseEnabled']) self.sigRangeChangedManually.emit(self.state['mouseEnabled'])
@ -1318,7 +1321,7 @@ class ViewBox(GraphicsWidget):
self.scaleHistory(-1) self.scaleHistory(-1)
elif ev.text() in ['+', '=']: elif ev.text() in ['+', '=']:
self.scaleHistory(1) self.scaleHistory(1)
elif ev.key() == QtCore.Qt.Key_Backspace: elif ev.key() == QtCore.Qt.Key.Key_Backspace:
self.scaleHistory(len(self.axHistory)) self.scaleHistory(len(self.axHistory))
else: else:
ev.ignore() ev.ignore()
@ -1421,7 +1424,7 @@ class ViewBox(GraphicsWidget):
itemBounds.append((bounds, useX, useY, pxPad)) itemBounds.append((bounds, useX, useY, pxPad))
else: else:
if item.flags() & item.ItemHasNoContents: if item.flags() & item.GraphicsItemFlag.ItemHasNoContents:
continue continue
bounds = self.mapFromItemToView(item, item.boundingRect()).boundingRect() bounds = self.mapFromItemToView(item, item.boundingRect()).boundingRect()
itemBounds.append((bounds, True, True, 0)) itemBounds.append((bounds, True, True, 0))

View File

@ -30,7 +30,7 @@ class Ui_Form(object):
self.linkCombo = QComboBox(Form) self.linkCombo = QComboBox(Form)
self.linkCombo.setObjectName(u"linkCombo") self.linkCombo.setObjectName(u"linkCombo")
self.linkCombo.setSizeAdjustPolicy(QComboBox.AdjustToContents) self.linkCombo.setSizeAdjustPolicy(QComboBox.SizeAdjustPolicy.AdjustToContents)
self.gridLayout.addWidget(self.linkCombo, 7, 2, 1, 2) self.gridLayout.addWidget(self.linkCombo, 7, 2, 1, 2)

View File

@ -220,7 +220,7 @@ class ImageView(QtGui.QWidget):
self.ui.roiPlot.registerPlot(self.name + '_ROI') self.ui.roiPlot.registerPlot(self.name + '_ROI')
self.view.register(self.name) self.view.register(self.name)
self.noRepeatKeys = [QtCore.Qt.Key_Right, QtCore.Qt.Key_Left, QtCore.Qt.Key_Up, QtCore.Qt.Key_Down, QtCore.Qt.Key_PageUp, QtCore.Qt.Key_PageDown] self.noRepeatKeys = [QtCore.Qt.Key.Key_Right, QtCore.Qt.Key.Key_Left, QtCore.Qt.Key.Key_Up, QtCore.Qt.Key.Key_Down, QtCore.Qt.Key.Key_PageUp, QtCore.Qt.Key.Key_PageDown]
self.roiClicked() ## initialize roi plot to correct shape / visibility self.roiClicked() ## initialize roi plot to correct shape / visibility
@ -435,17 +435,17 @@ class ImageView(QtGui.QWidget):
super().keyPressEvent(ev) super().keyPressEvent(ev)
return return
if ev.key() == QtCore.Qt.Key_Space: if ev.key() == QtCore.Qt.Key.Key_Space:
if self.playRate == 0: if self.playRate == 0:
self.play() self.play()
else: else:
self.play(0) self.play(0)
ev.accept() ev.accept()
elif ev.key() == QtCore.Qt.Key_Home: elif ev.key() == QtCore.Qt.Key.Key_Home:
self.setCurrentIndex(0) self.setCurrentIndex(0)
self.play(0) self.play(0)
ev.accept() ev.accept()
elif ev.key() == QtCore.Qt.Key_End: elif ev.key() == QtCore.Qt.Key.Key_End:
self.setCurrentIndex(self.getProcessedImage().shape[0]-1) self.setCurrentIndex(self.getProcessedImage().shape[0]-1)
self.play(0) self.play(0)
ev.accept() ev.accept()
@ -463,7 +463,7 @@ class ImageView(QtGui.QWidget):
super().keyReleaseEvent(ev) super().keyReleaseEvent(ev)
return return
if ev.key() in [QtCore.Qt.Key_Space, QtCore.Qt.Key_Home, QtCore.Qt.Key_End]: if ev.key() in [QtCore.Qt.Key.Key_Space, QtCore.Qt.Key.Key_Home, QtCore.Qt.Key.Key_End]:
ev.accept() ev.accept()
elif ev.key() in self.noRepeatKeys: elif ev.key() in self.noRepeatKeys:
ev.accept() ev.accept()
@ -480,22 +480,22 @@ class ImageView(QtGui.QWidget):
def evalKeyState(self): def evalKeyState(self):
if len(self.keysPressed) == 1: if len(self.keysPressed) == 1:
key = list(self.keysPressed.keys())[0] key = list(self.keysPressed.keys())[0]
if key == QtCore.Qt.Key_Right: if key == QtCore.Qt.Key.Key_Right:
self.play(20) self.play(20)
self.jumpFrames(1) self.jumpFrames(1)
self.lastPlayTime = ptime.time() + 0.2 ## 2ms wait before start self.lastPlayTime = ptime.time() + 0.2 ## 2ms wait before start
## This happens *after* jumpFrames, since it might take longer than 2ms ## This happens *after* jumpFrames, since it might take longer than 2ms
elif key == QtCore.Qt.Key_Left: elif key == QtCore.Qt.Key.Key_Left:
self.play(-20) self.play(-20)
self.jumpFrames(-1) self.jumpFrames(-1)
self.lastPlayTime = ptime.time() + 0.2 self.lastPlayTime = ptime.time() + 0.2
elif key == QtCore.Qt.Key_Up: elif key == QtCore.Qt.Key.Key_Up:
self.play(-100) self.play(-100)
elif key == QtCore.Qt.Key_Down: elif key == QtCore.Qt.Key.Key_Down:
self.play(100) self.play(100)
elif key == QtCore.Qt.Key_PageUp: elif key == QtCore.Qt.Key.Key_PageUp:
self.play(-1000) self.play(-1000)
elif key == QtCore.Qt.Key_PageDown: elif key == QtCore.Qt.Key.Key_PageDown:
self.play(1000) self.play(1000)
else: else:
self.play(0) self.play(0)

View File

@ -28,7 +28,7 @@ class Ui_Form(object):
self.gridLayout_3.setObjectName(u"gridLayout_3") self.gridLayout_3.setObjectName(u"gridLayout_3")
self.splitter = QSplitter(Form) self.splitter = QSplitter(Form)
self.splitter.setObjectName(u"splitter") self.splitter.setObjectName(u"splitter")
self.splitter.setOrientation(Qt.Vertical) self.splitter.setOrientation(Qt.Orientation.Vertical)
self.layoutWidget = QWidget(self.splitter) self.layoutWidget = QWidget(self.splitter)
self.layoutWidget.setObjectName(u"layoutWidget") self.layoutWidget.setObjectName(u"layoutWidget")
self.gridLayout = QGridLayout(self.layoutWidget) self.gridLayout = QGridLayout(self.layoutWidget)
@ -47,7 +47,7 @@ class Ui_Form(object):
self.roiBtn = QPushButton(self.layoutWidget) self.roiBtn = QPushButton(self.layoutWidget)
self.roiBtn.setObjectName(u"roiBtn") self.roiBtn.setObjectName(u"roiBtn")
sizePolicy = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed) sizePolicy = QSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Fixed)
sizePolicy.setHorizontalStretch(0) sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(1) sizePolicy.setVerticalStretch(1)
sizePolicy.setHeightForWidth(self.roiBtn.sizePolicy().hasHeightForWidth()) sizePolicy.setHeightForWidth(self.roiBtn.sizePolicy().hasHeightForWidth())
@ -66,7 +66,7 @@ class Ui_Form(object):
self.splitter.addWidget(self.layoutWidget) self.splitter.addWidget(self.layoutWidget)
self.roiPlot = PlotWidget(self.splitter) self.roiPlot = PlotWidget(self.splitter)
self.roiPlot.setObjectName(u"roiPlot") self.roiPlot.setObjectName(u"roiPlot")
sizePolicy1 = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred) sizePolicy1 = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Preferred)
sizePolicy1.setHorizontalStretch(0) sizePolicy1.setHorizontalStretch(0)
sizePolicy1.setVerticalStretch(0) sizePolicy1.setVerticalStretch(0)
sizePolicy1.setHeightForWidth(self.roiPlot.sizePolicy().hasHeightForWidth()) sizePolicy1.setHeightForWidth(self.roiPlot.sizePolicy().hasHeightForWidth())
@ -125,13 +125,13 @@ class Ui_Form(object):
self.label_8 = QLabel(self.normGroup) self.label_8 = QLabel(self.normGroup)
self.label_8.setObjectName(u"label_8") self.label_8.setObjectName(u"label_8")
self.label_8.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter) self.label_8.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignTrailing|Qt.AlignmentFlag.AlignVCenter)
self.gridLayout_2.addWidget(self.label_8, 2, 1, 1, 1) self.gridLayout_2.addWidget(self.label_8, 2, 1, 1, 1)
self.label_9 = QLabel(self.normGroup) self.label_9 = QLabel(self.normGroup)
self.label_9.setObjectName(u"label_9") self.label_9.setObjectName(u"label_9")
self.label_9.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter) self.label_9.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignTrailing|Qt.AlignmentFlag.AlignVCenter)
self.gridLayout_2.addWidget(self.label_9, 2, 3, 1, 1) self.gridLayout_2.addWidget(self.label_9, 2, 3, 1, 1)
@ -142,7 +142,7 @@ class Ui_Form(object):
self.label_10 = QLabel(self.normGroup) self.label_10 = QLabel(self.normGroup)
self.label_10.setObjectName(u"label_10") self.label_10.setObjectName(u"label_10")
self.label_10.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter) self.label_10.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignTrailing|Qt.AlignmentFlag.AlignVCenter)
self.gridLayout_2.addWidget(self.label_10, 2, 5, 1, 1) self.gridLayout_2.addWidget(self.label_10, 2, 5, 1, 1)

View File

@ -33,7 +33,7 @@ class GLViewWidget(QtWidgets.QOpenGLWidget):
QtWidgets.QOpenGLWidget.__init__(self, parent) QtWidgets.QOpenGLWidget.__init__(self, parent)
self.setFocusPolicy(QtCore.Qt.ClickFocus) self.setFocusPolicy(QtCore.Qt.FocusPolicy.ClickFocus)
if rotationMethod not in {"euler", "quaternion"}: if rotationMethod not in {"euler", "quaternion"}:
raise RuntimeError("Rotation method should be either 'euler' or 'quaternion'") raise RuntimeError("Rotation method should be either 'euler' or 'quaternion'")
@ -53,7 +53,7 @@ class GLViewWidget(QtWidgets.QOpenGLWidget):
self.reset() self.reset()
self.items = [] self.items = []
self.noRepeatKeys = [QtCore.Qt.Key_Right, QtCore.Qt.Key_Left, QtCore.Qt.Key_Up, QtCore.Qt.Key_Down, QtCore.Qt.Key_PageUp, QtCore.Qt.Key_PageDown] self.noRepeatKeys = [QtCore.Qt.Key.Key_Right, QtCore.Qt.Key.Key_Left, QtCore.Qt.Key.Key_Up, QtCore.Qt.Key.Key_Down, QtCore.Qt.Key.Key_PageUp, QtCore.Qt.Key.Key_PageDown]
self.keysPressed = {} self.keysPressed = {}
self.keyTimer = QtCore.QTimer() self.keyTimer = QtCore.QTimer()
self.keyTimer.timeout.connect(self.evalKeyState) self.keyTimer.timeout.connect(self.evalKeyState)
@ -437,13 +437,13 @@ class GLViewWidget(QtWidgets.QOpenGLWidget):
diff = lpos - self.mousePos diff = lpos - self.mousePos
self.mousePos = lpos self.mousePos = lpos
if ev.buttons() == QtCore.Qt.LeftButton: if ev.buttons() == QtCore.Qt.MouseButton.LeftButton:
if (ev.modifiers() & QtCore.Qt.ControlModifier): if (ev.modifiers() & QtCore.Qt.KeyboardModifier.ControlModifier):
self.pan(diff.x(), diff.y(), 0, relative='view') self.pan(diff.x(), diff.y(), 0, relative='view')
else: else:
self.orbit(-diff.x(), diff.y()) self.orbit(-diff.x(), diff.y())
elif ev.buttons() == QtCore.Qt.MiddleButton: elif ev.buttons() == QtCore.Qt.MouseButton.MiddleButton:
if (ev.modifiers() & QtCore.Qt.ControlModifier): if (ev.modifiers() & QtCore.Qt.KeyboardModifier.ControlModifier):
self.pan(diff.x(), 0, diff.y(), relative='view-upright') self.pan(diff.x(), 0, diff.y(), relative='view-upright')
else: else:
self.pan(diff.x(), diff.y(), 0, relative='view-upright') self.pan(diff.x(), diff.y(), 0, relative='view-upright')
@ -469,7 +469,7 @@ class GLViewWidget(QtWidgets.QOpenGLWidget):
delta = ev.angleDelta().x() delta = ev.angleDelta().x()
if delta == 0: if delta == 0:
delta = ev.angleDelta().y() delta = ev.angleDelta().y()
if (ev.modifiers() & QtCore.Qt.ControlModifier): if (ev.modifiers() & QtCore.Qt.KeyboardModifier.ControlModifier):
self.opts['fov'] *= 0.999**delta self.opts['fov'] *= 0.999**delta
else: else:
self.opts['distance'] *= 0.999**delta self.opts['distance'] *= 0.999**delta
@ -498,17 +498,17 @@ class GLViewWidget(QtWidgets.QOpenGLWidget):
speed = 2.0 speed = 2.0
if len(self.keysPressed) > 0: if len(self.keysPressed) > 0:
for key in self.keysPressed: for key in self.keysPressed:
if key == QtCore.Qt.Key_Right: if key == QtCore.Qt.Key.Key_Right:
self.orbit(azim=-speed, elev=0) self.orbit(azim=-speed, elev=0)
elif key == QtCore.Qt.Key_Left: elif key == QtCore.Qt.Key.Key_Left:
self.orbit(azim=speed, elev=0) self.orbit(azim=speed, elev=0)
elif key == QtCore.Qt.Key_Up: elif key == QtCore.Qt.Key.Key_Up:
self.orbit(azim=0, elev=-speed) self.orbit(azim=0, elev=-speed)
elif key == QtCore.Qt.Key_Down: elif key == QtCore.Qt.Key.Key_Down:
self.orbit(azim=0, elev=speed) self.orbit(azim=0, elev=speed)
elif key == QtCore.Qt.Key_PageUp: elif key == QtCore.Qt.Key.Key_PageUp:
pass pass
elif key == QtCore.Qt.Key_PageDown: elif key == QtCore.Qt.Key.Key_PageDown:
pass pass
self.keyTimer.start(16) self.keyTimer.start(16)
else: else:

View File

@ -16,7 +16,7 @@ class GLTextItem(GLGraphicsItem):
self.setGLOptions(glopts) self.setGLOptions(glopts)
self.pos = np.array([0.0, 0.0, 0.0]) self.pos = np.array([0.0, 0.0, 0.0])
self.color = QtCore.Qt.white self.color = QtCore.Qt.GlobalColor.white
self.text = '' self.text = ''
self.font = QtGui.QFont('Helvetica', 16) self.font = QtGui.QFont('Helvetica', 16)
@ -75,7 +75,7 @@ class GLTextItem(GLGraphicsItem):
painter = QtGui.QPainter(self.view()) painter = QtGui.QPainter(self.view())
painter.setPen(self.color) painter.setPen(self.color)
painter.setFont(self.font) painter.setFont(self.font)
painter.setRenderHints(QtGui.QPainter.Antialiasing | QtGui.QPainter.TextAntialiasing) painter.setRenderHints(QtGui.QPainter.RenderHint.Antialiasing | QtGui.QPainter.RenderHint.TextAntialiasing)
painter.drawText(text_pos[0], text_pos[1], self.text) painter.drawText(text_pos[0], text_pos[1], self.text)
painter.end() painter.end()

View File

@ -42,17 +42,17 @@ class ParameterItem(QtGui.QTreeWidgetItem):
## called when Parameter opts changed ## called when Parameter opts changed
opts = self.param.opts opts = self.param.opts
flags = QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled flags = QtCore.Qt.ItemFlag.ItemIsSelectable | QtCore.Qt.ItemFlag.ItemIsEnabled
if opts.get('renamable', False): if opts.get('renamable', False):
if opts.get('title', None) is not None: if opts.get('title', None) is not None:
raise Exception("Cannot make parameter with both title != None and renamable == True.") raise Exception("Cannot make parameter with both title != None and renamable == True.")
flags |= QtCore.Qt.ItemIsEditable flags |= QtCore.Qt.ItemFlag.ItemIsEditable
## handle movable / dropEnabled options ## handle movable / dropEnabled options
if opts.get('movable', False): if opts.get('movable', False):
flags |= QtCore.Qt.ItemIsDragEnabled flags |= QtCore.Qt.ItemFlag.ItemIsDragEnabled
if opts.get('dropEnabled', False): if opts.get('dropEnabled', False):
flags |= QtCore.Qt.ItemIsDropEnabled flags |= QtCore.Qt.ItemFlag.ItemIsDropEnabled
self.setFlags(flags) self.setFlags(flags)
@ -166,9 +166,9 @@ class ParameterItem(QtGui.QTreeWidgetItem):
if QT_LIB == 'PyQt6': if QT_LIB == 'PyQt6':
# PyQt6 doesn't allow or-ing of different enum types # PyQt6 doesn't allow or-ing of different enum types
# so we need to take its value property # so we need to take its value property
textFlags = QtCore.Qt.TextSingleLine.value textFlags = QtCore.Qt.TextFlag.TextSingleLine.value
else: else:
textFlags = QtCore.Qt.TextSingleLine textFlags = QtCore.Qt.TextFlag.TextSingleLine
size = fm.size(textFlags, self.text(0)) size = fm.size(textFlags, self.text(0))
size.setHeight(int(size.height() * 1.35)) size.setHeight(int(size.height() * 1.35))
size.setWidth(int(size.width() * 1.15)) size.setWidth(int(size.width() * 1.15))

View File

@ -18,8 +18,8 @@ class ParameterTree(TreeWidget):
============== ======================================================== ============== ========================================================
""" """
TreeWidget.__init__(self, parent) TreeWidget.__init__(self, parent)
self.setVerticalScrollMode(self.ScrollPerPixel) self.setVerticalScrollMode(self.ScrollMode.ScrollPerPixel)
self.setHorizontalScrollMode(self.ScrollPerPixel) self.setHorizontalScrollMode(self.ScrollMode.ScrollPerPixel)
self.setAnimated(False) self.setAnimated(False)
self.setColumnCount(2) self.setColumnCount(2)
self.setHeaderLabels(["Parameter", "Value"]) self.setHeaderLabels(["Parameter", "Value"])

View File

@ -47,7 +47,7 @@ class WidgetParameterItem(ParameterItem):
if self.asSubItem: if self.asSubItem:
self.subItem = QtGui.QTreeWidgetItem() self.subItem = QtGui.QTreeWidgetItem()
self.subItem.depth = self.depth + 1 self.subItem.depth = self.depth + 1
self.subItem.setFlags(QtCore.Qt.NoItemFlags) self.subItem.setFlags(QtCore.Qt.ItemFlag.NoItemFlags)
self.addChild(self.subItem) self.addChild(self.subItem)
self.defaultBtn = QtGui.QPushButton() self.defaultBtn = QtGui.QPushButton()
@ -178,11 +178,11 @@ class WidgetParameterItem(ParameterItem):
## filter widget's events ## filter widget's events
## catch TAB to change focus ## catch TAB to change focus
## catch focusOut to hide editor ## catch focusOut to hide editor
if ev.type() == ev.KeyPress: if ev.type() == ev.Type.KeyPress:
if ev.key() == QtCore.Qt.Key_Tab: if ev.key() == QtCore.Qt.Key.Key_Tab:
self.focusNext(forward=True) self.focusNext(forward=True)
return True ## don't let anyone else see this event return True ## don't let anyone else see this event
elif ev.key() == QtCore.Qt.Key_Backtab: elif ev.key() == QtCore.Qt.Key.Key_Backtab:
self.focusNext(forward=False) self.focusNext(forward=False)
return True ## don't let anyone else see this event return True ## don't let anyone else see this event
@ -256,7 +256,7 @@ class WidgetParameterItem(ParameterItem):
def showEditor(self): def showEditor(self):
self.widget.show() self.widget.show()
self.displayLabel.hide() self.displayLabel.hide()
self.widget.setFocus(QtCore.Qt.OtherFocusReason) self.widget.setFocus(QtCore.Qt.FocusReason.OtherFocusReason)
if isinstance(self.widget, SpinBox): if isinstance(self.widget, SpinBox):
self.widget.selectNumber() # select the numerical portion of the text for quick editing self.widget.selectNumber() # select the numerical portion of the text for quick editing
@ -418,7 +418,7 @@ class GroupParameterItem(ParameterItem):
addText = param.opts['addText'] addText = param.opts['addText']
if 'addList' in param.opts: if 'addList' in param.opts:
self.addWidget = QtGui.QComboBox() self.addWidget = QtGui.QComboBox()
self.addWidget.setSizeAdjustPolicy(QtGui.QComboBox.AdjustToContents) self.addWidget.setSizeAdjustPolicy(QtGui.QComboBox.SizeAdjustPolicy.AdjustToContents)
self.updateAddList() self.updateAddList()
self.addWidget.currentIndexChanged.connect(self.addChanged) self.addWidget.currentIndexChanged.connect(self.addChanged)
else: else:
@ -432,7 +432,7 @@ class GroupParameterItem(ParameterItem):
l.addStretch() l.addStretch()
self.addWidgetBox = w self.addWidgetBox = w
self.addItem = QtGui.QTreeWidgetItem([]) self.addItem = QtGui.QTreeWidgetItem([])
self.addItem.setFlags(QtCore.Qt.ItemIsEnabled) self.addItem.setFlags(QtCore.Qt.ItemFlag.ItemIsEnabled)
self.addItem.depth = self.depth + 1 self.addItem.depth = self.depth + 1
ParameterItem.addChild(self, self.addItem) ParameterItem.addChild(self, self.addItem)
self.addItem.setSizeHint(0, self.addWidgetBox.sizeHint()) self.addItem.setSizeHint(0, self.addWidgetBox.sizeHint())

View File

@ -20,9 +20,9 @@ class BusyCursor(object):
if QT_LIB == 'PySide': if QT_LIB == 'PySide':
# pass CursorShape rather than QCursor for PySide # pass CursorShape rather than QCursor for PySide
# see https://bugreports.qt.io/browse/PYSIDE-243 # see https://bugreports.qt.io/browse/PYSIDE-243
QtGui.QApplication.setOverrideCursor(QtCore.Qt.WaitCursor) QtGui.QApplication.setOverrideCursor(QtCore.Qt.CursorShape.WaitCursor)
else: else:
QtGui.QApplication.setOverrideCursor(QtGui.QCursor(QtCore.Qt.WaitCursor)) QtGui.QApplication.setOverrideCursor(QtGui.QCursor(QtCore.Qt.CursorShape.WaitCursor))
BusyCursor.active.append(self) BusyCursor.active.append(self)
self._active = True self._active = True
else: else:

View File

@ -23,8 +23,8 @@ class ColorButton(QtGui.QPushButton):
QtGui.QPushButton.__init__(self, parent) QtGui.QPushButton.__init__(self, parent)
self.setColor(color) self.setColor(color)
self.colorDialog = QtGui.QColorDialog() self.colorDialog = QtGui.QColorDialog()
self.colorDialog.setOption(QtGui.QColorDialog.ShowAlphaChannel, True) self.colorDialog.setOption(QtGui.QColorDialog.ColorDialogOption.ShowAlphaChannel, True)
self.colorDialog.setOption(QtGui.QColorDialog.DontUseNativeDialog, True) self.colorDialog.setOption(QtGui.QColorDialog.ColorDialogOption.DontUseNativeDialog, True)
self.colorDialog.currentColorChanged.connect(self.dialogColorChanged) self.colorDialog.currentColorChanged.connect(self.dialogColorChanged)
self.colorDialog.rejected.connect(self.colorRejected) self.colorDialog.rejected.connect(self.colorRejected)
self.colorDialog.colorSelected.connect(self.colorSelected) self.colorDialog.colorSelected.connect(self.colorSelected)
@ -41,7 +41,7 @@ class ColorButton(QtGui.QPushButton):
## draw white base, then texture for indicating transparency, then actual color ## draw white base, then texture for indicating transparency, then actual color
p.setBrush(functions.mkBrush('w')) p.setBrush(functions.mkBrush('w'))
p.drawRect(rect) p.drawRect(rect)
p.setBrush(QtGui.QBrush(QtCore.Qt.DiagCrossPattern)) p.setBrush(QtGui.QBrush(QtCore.Qt.BrushStyle.DiagCrossPattern))
p.drawRect(rect) p.drawRect(rect)
p.setBrush(functions.mkBrush(self._color)) p.setBrush(functions.mkBrush(self._color))
p.drawRect(rect) p.drawRect(rect)

View File

@ -24,7 +24,7 @@ class ComboBox(QtGui.QComboBox):
#self.value = default #self.value = default
if 'darwin' in sys.platform: ## because MacOSX can show names that are wider than the comboBox if 'darwin' in sys.platform: ## because MacOSX can show names that are wider than the comboBox
self.setSizeAdjustPolicy(QtGui.QComboBox.AdjustToContents) self.setSizeAdjustPolicy(QtGui.QComboBox.SizeAdjustPolicy.AdjustToContents)
#self.setMinimumContentsLength(10) #self.setMinimumContentsLength(10)
self._chosenText = None self._chosenText = None
self._items = OrderedDict() self._items = OrderedDict()

View File

@ -21,7 +21,7 @@ class DataTreeWidget(QtGui.QTreeWidget):
""" """
def __init__(self, parent=None, data=None): def __init__(self, parent=None, data=None):
QtGui.QTreeWidget.__init__(self, parent) QtGui.QTreeWidget.__init__(self, parent)
self.setVerticalScrollMode(self.ScrollPerPixel) self.setVerticalScrollMode(self.ScrollMode.ScrollPerPixel)
self.setData(data) self.setData(data)
self.setColumnCount(3) self.setColumnCount(3)
self.setHeaderLabels(['key / index', 'type', 'value']) self.setHeaderLabels(['key / index', 'type', 'value'])

View File

@ -11,4 +11,4 @@ class FileDialog(QtGui.QFileDialog):
QtGui.QFileDialog.__init__(self, *args) QtGui.QFileDialog.__init__(self, *args)
if sys.platform == 'darwin': if sys.platform == 'darwin':
self.setOption(QtGui.QFileDialog.DontUseNativeDialog) self.setOption(QtGui.QFileDialog.Option.DontUseNativeDialog)

View File

@ -38,8 +38,8 @@ class GradientWidget(GraphicsView):
self.item.sigGradientChangeFinished.connect(self.sigGradientChangeFinished) self.item.sigGradientChangeFinished.connect(self.sigGradientChangeFinished)
self.setCentralItem(self.item) self.setCentralItem(self.item)
self.setOrientation(orientation) self.setOrientation(orientation)
self.setCacheMode(self.CacheNone) self.setCacheMode(self.CacheModeFlag.CacheNone)
self.setRenderHints(QtGui.QPainter.Antialiasing | QtGui.QPainter.TextAntialiasing) self.setRenderHints(QtGui.QPainter.RenderHint.Antialiasing | QtGui.QPainter.RenderHint.TextAntialiasing)
if QT_LIB == 'PyQt6': if QT_LIB == 'PyQt6':
# PyQt6 doesn't allow or-ing of different enum types # PyQt6 doesn't allow or-ing of different enum types
@ -47,16 +47,16 @@ class GradientWidget(GraphicsView):
NoFrame = QtWidgets.QFrame.Shape.NoFrame.value NoFrame = QtWidgets.QFrame.Shape.NoFrame.value
Plain = QtWidgets.QFrame.Shadow.Plain.value Plain = QtWidgets.QFrame.Shadow.Plain.value
else: else:
NoFrame = QtWidgets.QFrame.NoFrame NoFrame = QtWidgets.QFrame.Shape.NoFrame
Plain = QtWidgets.QFrame.Plain Plain = QtWidgets.QFrame.Shadow.Plain
frame_style = NoFrame | Plain frame_style = NoFrame | Plain
self.setFrameStyle(frame_style) self.setFrameStyle(frame_style)
#self.setBackgroundRole(QtGui.QPalette.NoRole) #self.setBackgroundRole(QtGui.QPalette.ColorRole.NoRole)
#self.setBackgroundBrush(QtGui.QBrush(QtCore.Qt.NoBrush)) #self.setBackgroundBrush(QtGui.QBrush(QtCore.Qt.BrushStyle.NoBrush))
#self.setAutoFillBackground(False) #self.setAutoFillBackground(False)
#self.setAttribute(QtCore.Qt.WA_PaintOnScreen, False) #self.setAttribute(QtCore.Qt.WindowType.WindowType.WidgetAttribute.WA_PaintOnScreen, False)
#self.setAttribute(QtCore.Qt.WA_OpaquePaintEvent, True) #self.setAttribute(QtCore.Qt.WindowType.WindowType.WidgetAttribute.WA_OpaquePaintEvent, True)
def setOrientation(self, ort): def setOrientation(self, ort):
"""Set the orientation of the widget. May be one of 'bottom', 'top', """Set the orientation of the widget. May be one of 'bottom', 'top',

View File

@ -73,22 +73,21 @@ class GraphicsView(QtGui.QGraphicsView):
useOpenGL = getConfigOption('useOpenGL') useOpenGL = getConfigOption('useOpenGL')
self.useOpenGL(useOpenGL) self.useOpenGL(useOpenGL)
self.setCacheMode(self.CacheModeFlag.CacheBackground)
self.setCacheMode(self.CacheBackground)
## This might help, but it's probably dangerous in the general case.. ## This might help, but it's probably dangerous in the general case..
#self.setOptimizationFlag(self.DontSavePainterState, True) #self.setOptimizationFlag(self.DontSavePainterState, True)
self.setBackgroundRole(QtGui.QPalette.NoRole) self.setBackgroundRole(QtGui.QPalette.ColorRole.NoRole)
self.setBackground(background) self.setBackground(background)
self.setFocusPolicy(QtCore.Qt.StrongFocus) self.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
self.setFrameShape(QtGui.QFrame.NoFrame) self.setFrameShape(QtGui.QFrame.Shape.NoFrame)
self.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) self.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOff)
self.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) self.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOff)
self.setTransformationAnchor(QtGui.QGraphicsView.NoAnchor) self.setTransformationAnchor(QtGui.QGraphicsView.ViewportAnchor.NoAnchor)
self.setResizeAnchor(QtGui.QGraphicsView.AnchorViewCenter) self.setResizeAnchor(QtGui.QGraphicsView.ViewportAnchor.AnchorViewCenter)
self.setViewportUpdateMode(QtGui.QGraphicsView.MinimalViewportUpdate) self.setViewportUpdateMode(QtGui.QGraphicsView.ViewportUpdateMode.MinimalViewportUpdate)
self.lockedViewports = [] self.lockedViewports = []
@ -124,9 +123,9 @@ class GraphicsView(QtGui.QGraphicsView):
"""Enable or disable default antialiasing. """Enable or disable default antialiasing.
Note that this will only affect items that do not specify their own antialiasing options.""" Note that this will only affect items that do not specify their own antialiasing options."""
if aa: if aa:
self.setRenderHints(self.renderHints() | QtGui.QPainter.Antialiasing) self.setRenderHints(self.renderHints() | QtGui.QPainter.RenderHint.Antialiasing)
else: else:
self.setRenderHints(self.renderHints() & ~QtGui.QPainter.Antialiasing) self.setRenderHints(self.renderHints() & ~QtGui.QPainter.RenderHint.Antialiasing)
def setBackground(self, background): def setBackground(self, background):
""" """
@ -216,9 +215,9 @@ class GraphicsView(QtGui.QGraphicsView):
self.resetTransform() self.resetTransform()
else: else:
if self.aspectLocked: if self.aspectLocked:
self.fitInView(self.range, QtCore.Qt.KeepAspectRatio) self.fitInView(self.range, QtCore.Qt.AspectRatioMode.KeepAspectRatio)
else: else:
self.fitInView(self.range, QtCore.Qt.IgnoreAspectRatio) self.fitInView(self.range, QtCore.Qt.AspectRatioMode.IgnoreAspectRatio)
if propagate: if propagate:
for v in self.lockedViewports: for v in self.lockedViewports:
@ -374,13 +373,13 @@ class GraphicsView(QtGui.QGraphicsView):
if self.clickAccepted: ## Ignore event if an item in the scene has already claimed it. if self.clickAccepted: ## Ignore event if an item in the scene has already claimed it.
return return
if ev.buttons() == QtCore.Qt.RightButton: if ev.buttons() == QtCore.Qt.MouseButton.RightButton:
delta = Point(fn.clip_scalar(delta[0], -50, 50), fn.clip_scalar(-delta[1], -50, 50)) delta = Point(fn.clip_scalar(delta[0], -50, 50), fn.clip_scalar(-delta[1], -50, 50))
scale = 1.01 ** delta scale = 1.01 ** delta
self.scale(scale[0], scale[1], center=self.mapToScene(self.mousePressPos)) self.scale(scale[0], scale[1], center=self.mapToScene(self.mousePressPos))
self.sigDeviceRangeChanged.emit(self, self.range) self.sigDeviceRangeChanged.emit(self, self.range)
elif ev.buttons() in [QtCore.Qt.MiddleButton, QtCore.Qt.LeftButton]: ## Allow panning by left or mid button. elif ev.buttons() in [QtCore.Qt.MouseButton.MiddleButton, QtCore.Qt.MouseButton.LeftButton]: ## Allow panning by left or mid button.
px = self.pixelSize() px = self.pixelSize()
tr = -delta * px tr = -delta * px

View File

@ -55,7 +55,7 @@ class GroupBox(QtGui.QGroupBox):
if c is True: if c is True:
self.collapseBtn.setPath(self.closePath) self.collapseBtn.setPath(self.closePath)
self.setSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred, closing=True) self.setSizePolicy(QtGui.QSizePolicy.Policy.Preferred, QtGui.QSizePolicy.Policy.Preferred, closing=True)
elif c is False: elif c is False:
self.collapseBtn.setPath(self.openPath) self.collapseBtn.setPath(self.openPath)
self.setSizePolicy(self._lastSizePolicy) self.setSizePolicy(self._lastSizePolicy)

View File

@ -25,10 +25,10 @@ class HistogramLUTWidget(GraphicsView):
self.orientation = kargs.get('orientation', 'vertical') self.orientation = kargs.get('orientation', 'vertical')
if self.orientation == 'vertical': if self.orientation == 'vertical':
self.setSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Expanding) self.setSizePolicy(QtGui.QSizePolicy.Policy.Preferred, QtGui.QSizePolicy.Policy.Expanding)
self.setMinimumWidth(95) self.setMinimumWidth(95)
else: else:
self.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Preferred) self.setSizePolicy(QtGui.QSizePolicy.Policy.Expanding, QtGui.QSizePolicy.Policy.Preferred)
self.setMinimumHeight(95) self.setMinimumHeight(95)
def sizeHint(self): def sizeHint(self):

View File

@ -21,8 +21,8 @@ class MultiPlotWidget(GraphicsView):
## Explicitly wrap methods from mPlotItem ## Explicitly wrap methods from mPlotItem
#for m in ['setData']: #for m in ['setData']:
#setattr(self, m, getattr(self.mPlotItem, m)) #setattr(self, m, getattr(self.mPlotItem, m))
self.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded) self.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarPolicy.ScrollBarAsNeeded)
self.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded) self.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarPolicy.ScrollBarAsNeeded)
def __getattr__(self, attr): ## implicitly wrap methods from plotItem def __getattr__(self, attr): ## implicitly wrap methods from plotItem
if hasattr(self.mPlotItem, attr): if hasattr(self.mPlotItem, attr):

View File

@ -39,7 +39,7 @@ class PathButton(QtGui.QPushButton):
scale = min(geom.width() / float(rect.width()), geom.height() / float(rect.height())) scale = min(geom.width() / float(rect.width()), geom.height() / float(rect.height()))
p = QtGui.QPainter(self) p = QtGui.QPainter(self)
p.setRenderHint(p.Antialiasing) p.setRenderHint(p.RenderHint.Antialiasing)
p.translate(geom.center()) p.translate(geom.center())
p.scale(scale, scale) p.scale(scale, scale)
p.translate(-rect.center()) p.translate(-rect.center())

View File

@ -50,7 +50,7 @@ class PlotWidget(GraphicsView):
and all others are passed and all others are passed
to :func:`PlotItem.__init__() <pyqtgraph.PlotItem.__init__>`.""" to :func:`PlotItem.__init__() <pyqtgraph.PlotItem.__init__>`."""
GraphicsView.__init__(self, parent, background=background) GraphicsView.__init__(self, parent, background=background)
self.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) self.setSizePolicy(QtGui.QSizePolicy.Policy.Expanding, QtGui.QSizePolicy.Policy.Expanding)
self.enableMouse(False) self.enableMouse(False)
if plotItem is None: if plotItem is None:
self.plotItem = PlotItem(**kargs) self.plotItem = PlotItem(**kargs)

View File

@ -73,7 +73,7 @@ class ProgressDialog(QtGui.QProgressDialog):
else: else:
self.setMinimumDuration(wait) self.setMinimumDuration(wait)
self.setWindowModality(QtCore.Qt.WindowModal) self.setWindowModality(QtCore.Qt.WindowType.WindowModality.WindowModal)
self.setValue(self.minimum()) self.setValue(self.minimum())
if noCancel: if noCancel:
self.setCancelButton(None) self.setCancelButton(None)
@ -82,7 +82,7 @@ class ProgressDialog(QtGui.QProgressDialog):
if self.disabled: if self.disabled:
return self return self
if self.busyCursor: if self.busyCursor:
QtGui.QApplication.setOverrideCursor(QtGui.QCursor(QtCore.Qt.WaitCursor)) QtGui.QApplication.setOverrideCursor(QtGui.QCursor(QtCore.Qt.CursorShape.WaitCursor))
if self.nested and len(ProgressDialog.allDialogs) > 0: if self.nested and len(ProgressDialog.allDialogs) > 0:
topDialog = ProgressDialog.allDialogs[0] topDialog = ProgressDialog.allDialogs[0]
@ -206,7 +206,7 @@ class ProgressDialog(QtGui.QProgressDialog):
# Qt docs say this should happen automatically, but that doesn't seem # Qt docs say this should happen automatically, but that doesn't seem
# to be the case. # to be the case.
if self.windowModality() == QtCore.Qt.WindowModal: if self.windowModality() == QtCore.Qt.WindowType.WindowModality.WindowModal:
now = ptime.time() now = ptime.time()
if self._lastProcessEvents is None or (now - self._lastProcessEvents) > 0.2: if self._lastProcessEvents is None or (now - self._lastProcessEvents) > 0.2:
QtGui.QApplication.processEvents() QtGui.QApplication.processEvents()
@ -259,7 +259,7 @@ class ProgressWidget(QtGui.QWidget):
self.layout.addWidget(bar) self.layout.addWidget(bar)
def eventFilter(self, obj, ev): def eventFilter(self, obj, ev):
return ev.type() == QtCore.QEvent.Paint return ev.type() == QtCore.QEvent.Type.Paint
def hide(self): def hide(self):
# hide label and bar, but continue occupying the same space in the layout # hide label and bar, but continue occupying the same space in the layout

View File

@ -32,7 +32,7 @@ class RawImageWidget(QtGui.QWidget):
This also greatly reduces the speed at which it will draw frames. This also greatly reduces the speed at which it will draw frames.
""" """
QtGui.QWidget.__init__(self, parent) QtGui.QWidget.__init__(self, parent)
self.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)) self.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.Policy.Expanding, QtGui.QSizePolicy.Policy.Expanding))
self.scaled = scaled self.scaled = scaled
self.opts = None self.opts = None
self.image = None self.image = None

View File

@ -42,8 +42,8 @@ class RemoteGraphicsView(QtGui.QWidget):
self._view = rpgRemote.Renderer(*args, **remoteKwds) self._view = rpgRemote.Renderer(*args, **remoteKwds)
self._view._setProxyOptions(deferGetattr=True) self._view._setProxyOptions(deferGetattr=True)
self.setFocusPolicy(QtCore.Qt.StrongFocus) self.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
self.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) self.setSizePolicy(QtGui.QSizePolicy.Policy.Expanding, QtGui.QSizePolicy.Policy.Expanding)
self.setMouseTracking(True) self.setMouseTracking(True)
self.shm = None self.shm = None
shmFileName = self._view.shmFileName() shmFileName = self._view.shmFileName()

View File

@ -37,11 +37,11 @@ class ScatterPlotWidget(QtGui.QSplitter):
sigScatterPlotHovered = QtCore.Signal(object, object, object) sigScatterPlotHovered = QtCore.Signal(object, object, object)
def __init__(self, parent=None): def __init__(self, parent=None):
QtGui.QSplitter.__init__(self, QtCore.Qt.Horizontal) QtGui.QSplitter.__init__(self, QtCore.Qt.Orientation.Horizontal)
self.ctrlPanel = QtGui.QSplitter(QtCore.Qt.Vertical) self.ctrlPanel = QtGui.QSplitter(QtCore.Qt.Orientation.Vertical)
self.addWidget(self.ctrlPanel) self.addWidget(self.ctrlPanel)
self.fieldList = QtGui.QListWidget() self.fieldList = QtGui.QListWidget()
self.fieldList.setSelectionMode(self.fieldList.ExtendedSelection) self.fieldList.setSelectionMode(self.fieldList.SelectionMode.ExtendedSelection)
self.ptree = ptree.ParameterTree(showHeader=False) self.ptree = ptree.ParameterTree(showHeader=False)
self.filter = DataFilterParameter() self.filter = DataFilterParameter()
self.colorMap = ColorMapParameter() self.colorMap = ColorMapParameter()

View File

@ -66,7 +66,7 @@ class SpinBox(QtGui.QAbstractSpinBox):
self.setMinimumWidth(0) self.setMinimumWidth(0)
self._lastFontHeight = None self._lastFontHeight = None
self.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Preferred) self.setSizePolicy(QtGui.QSizePolicy.Policy.Expanding, QtGui.QSizePolicy.Policy.Preferred)
self.errorBox = ErrorBox(self.lineEdit()) self.errorBox = ErrorBox(self.lineEdit())
self.opts = { self.opts = {
@ -104,7 +104,7 @@ class SpinBox(QtGui.QAbstractSpinBox):
self.val = D(asUnicode(value)) ## Value is precise decimal. Ordinary math not allowed. self.val = D(asUnicode(value)) ## Value is precise decimal. Ordinary math not allowed.
self.updateText() self.updateText()
self.skipValidate = False self.skipValidate = False
self.setCorrectionMode(self.CorrectToPreviousValue) self.setCorrectionMode(self.CorrectionMode.CorrectToPreviousValue)
self.setKeyboardTracking(False) self.setKeyboardTracking(False)
self.proxy = SignalProxy(self.sigValueChanging, slot=self.delayedChange, delay=self.opts['delay']) self.proxy = SignalProxy(self.sigValueChanging, slot=self.delayedChange, delay=self.opts['delay'])
self.setOpts(**kwargs) self.setOpts(**kwargs)
@ -394,7 +394,7 @@ class SpinBox(QtGui.QAbstractSpinBox):
return QtCore.QSize(120, 0) return QtCore.QSize(120, 0)
def stepEnabled(self): def stepEnabled(self):
return self.StepUpEnabled | self.StepDownEnabled return self.StepEnabledFlag.StepUpEnabled | self.StepEnabledFlag.StepDownEnabled
def stepBy(self, n): def stepBy(self, n):
if isinf(self.val) or isnan(self.val): if isinf(self.val) or isnan(self.val):
@ -478,29 +478,29 @@ class SpinBox(QtGui.QAbstractSpinBox):
def validate(self, strn, pos): def validate(self, strn, pos):
if self.skipValidate: if self.skipValidate:
ret = QtGui.QValidator.Acceptable ret = QtGui.QValidator.State.Acceptable
else: else:
try: try:
val = self.interpret() val = self.interpret()
if val is False: if val is False:
ret = QtGui.QValidator.Intermediate ret = QtGui.QValidator.State.Intermediate
else: else:
if self.valueInRange(val): if self.valueInRange(val):
if not self.opts['delayUntilEditFinished']: if not self.opts['delayUntilEditFinished']:
self.setValue(val, update=False) self.setValue(val, update=False)
ret = QtGui.QValidator.Acceptable ret = QtGui.QValidator.State.Acceptable
else: else:
ret = QtGui.QValidator.Intermediate ret = QtGui.QValidator.State.Intermediate
except: except:
import sys import sys
sys.excepthook(*sys.exc_info()) sys.excepthook(*sys.exc_info())
ret = QtGui.QValidator.Intermediate ret = QtGui.QValidator.State.Intermediate
## draw / clear border ## draw / clear border
if ret == QtGui.QValidator.Intermediate: if ret == QtGui.QValidator.State.Intermediate:
self.textValid = False self.textValid = False
elif ret == QtGui.QValidator.Acceptable: elif ret == QtGui.QValidator.State.Acceptable:
self.textValid = True self.textValid = True
## note: if text is invalid, we don't change the textValid flag ## note: if text is invalid, we don't change the textValid flag
## since the text will be forced to its previous state anyway ## since the text will be forced to its previous state anyway
@ -600,12 +600,12 @@ class ErrorBox(QtGui.QWidget):
def __init__(self, parent): def __init__(self, parent):
QtGui.QWidget.__init__(self, parent) QtGui.QWidget.__init__(self, parent)
parent.installEventFilter(self) parent.installEventFilter(self)
self.setAttribute(QtCore.Qt.WA_TransparentForMouseEvents) self.setAttribute(QtCore.Qt.WidgetAttribute.WA_TransparentForMouseEvents)
self._resize() self._resize()
self.setVisible(False) self.setVisible(False)
def eventFilter(self, obj, ev): def eventFilter(self, obj, ev):
if ev.type() == QtCore.QEvent.Resize: if ev.type() == QtCore.QEvent.Type.Resize:
self._resize() self._resize()
return False return False

View File

@ -54,9 +54,9 @@ class TableWidget(QtGui.QTableWidget):
self.itemClass = TableWidgetItem self.itemClass = TableWidgetItem
self.setVerticalScrollMode(self.ScrollPerPixel) self.setVerticalScrollMode(self.ScrollMode.ScrollPerPixel)
self.setSelectionMode(QtGui.QAbstractItemView.ContiguousSelection) self.setSelectionMode(QtGui.QAbstractItemView.SelectionMode.ContiguousSelection)
self.setSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred) self.setSizePolicy(QtGui.QSizePolicy.Policy.Preferred, QtGui.QSizePolicy.Policy.Preferred)
self.clear() self.clear()
kwds.setdefault('sortable', True) kwds.setdefault('sortable', True)
@ -149,7 +149,7 @@ class TableWidget(QtGui.QTableWidget):
if (self._sorting and self.horizontalHeadersSet and if (self._sorting and self.horizontalHeadersSet and
self.horizontalHeader().sortIndicatorSection() >= self.columnCount()): self.horizontalHeader().sortIndicatorSection() >= self.columnCount()):
self.sortByColumn(0, QtCore.Qt.AscendingOrder) self.sortByColumn(0, QtCore.Qt.SortOrder.AscendingOrder)
def setEditable(self, editable=True): def setEditable(self, editable=True):
self.editable = editable self.editable = editable
@ -368,7 +368,7 @@ class TableWidget(QtGui.QTableWidget):
self.contextMenu.popup(ev.globalPos()) self.contextMenu.popup(ev.globalPos())
def keyPressEvent(self, ev): def keyPressEvent(self, ev):
if ev.matches(QtGui.QKeySequence.Copy): if ev.matches(QtGui.QKeySequence.StandardKey.Copy):
ev.accept() ev.accept()
self.copySel() self.copySel()
else: else:
@ -386,7 +386,7 @@ class TableWidgetItem(QtGui.QTableWidgetItem):
self._defaultFormat = '%0.3g' self._defaultFormat = '%0.3g'
self.sortMode = 'value' self.sortMode = 'value'
self.index = index self.index = index
flags = QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled flags = QtCore.Qt.ItemFlag.ItemIsSelectable | QtCore.Qt.ItemFlag.ItemIsEnabled
self.setFlags(flags) self.setFlags(flags)
self.setValue(val) self.setValue(val)
self.setFormat(format) self.setFormat(format)
@ -396,9 +396,9 @@ class TableWidgetItem(QtGui.QTableWidgetItem):
Set whether this item is user-editable. Set whether this item is user-editable.
""" """
if editable: if editable:
self.setFlags(self.flags() | QtCore.Qt.ItemIsEditable) self.setFlags(self.flags() | QtCore.Qt.ItemFlag.ItemIsEditable)
else: else:
self.setFlags(self.flags() & ~QtCore.Qt.ItemIsEditable) self.setFlags(self.flags() & ~QtCore.Qt.ItemFlag.ItemIsEditable)
def setSortMode(self, mode): def setSortMode(self, mode):
""" """

Some files were not shown because too many files have changed in this diff Show More