diff --git a/package.xml b/package.xml
index da78a55..21e9bf3 100644
--- a/package.xml
+++ b/package.xml
@@ -17,6 +17,9 @@
Mabel Zhang
Scott K Logan
+ qt6-base-dev
+ libqt6widgets6t64
+
ament_index_python
python_qt_binding
python3-matplotlib
diff --git a/src/rqt_plot/data_plot/__init__.py b/src/rqt_plot/data_plot/__init__.py
index 3a2fbd7..60a81d6 100644
--- a/src/rqt_plot/data_plot/__init__.py
+++ b/src/rqt_plot/data_plot/__init__.py
@@ -31,7 +31,7 @@
from python_qt_binding import QT_BINDING
from python_qt_binding.QtCore import Qt, qWarning, Signal
-from python_qt_binding.QtGui import QColor
+from python_qt_binding.QtGui import QColor, QColorConstants
from python_qt_binding.QtWidgets import QHBoxLayout, QWidget
from qt_gui_py_common.simple_settings_dialog import SimpleSettingsDialog
from rqt_py_common.ini_helper import pack, unpack
@@ -112,8 +112,10 @@ class DataPlot(QWidget):
SCALE_VISIBLE = 2
SCALE_EXTEND = 4
- _colors = [Qt.blue, Qt.red, Qt.cyan, Qt.magenta, Qt.green,
- Qt.darkYellow, Qt.black, Qt.darkCyan, Qt.darkRed, Qt.gray]
+ _colors = [QColorConstants.Blue, QColorConstants.Red, QColorConstants.Cyan,
+ QColorConstants.Magenta, QColorConstants.Green,
+ QColorConstants.DarkYellow, QColorConstants.Black,
+ QColorConstants.DarkCyan, QColorConstants.DarkRed, QColorConstants.Gray]
limits_changed = Signal()
_redraw = Signal()
diff --git a/src/rqt_plot/data_plot/mat_data_plot.py b/src/rqt_plot/data_plot/mat_data_plot.py
index d55bbf6..b32afc6 100644
--- a/src/rqt_plot/data_plot/mat_data_plot.py
+++ b/src/rqt_plot/data_plot/mat_data_plot.py
@@ -32,7 +32,7 @@
from matplotlib.backends.backend_qt5agg import NavigationToolbar2QT as NavigationToolbar
from matplotlib.figure import Figure
-from python_qt_binding import QT_BINDING, QT_BINDING_VERSION
+from python_qt_binding import QT_BINDING, QT_BINDING_VERSION, QtWidgets
try:
from pkg_resources import parse_version
@@ -48,7 +48,7 @@ def parse_version(s):
raise ImportError('A PySide version newer than 1.1.0 is required.')
from python_qt_binding.QtCore import Qt, Signal
-from python_qt_binding.QtGui import QColor
+from python_qt_binding.QtGui import QColorConstants
from python_qt_binding.QtWidgets import QSizePolicy, QVBoxLayout, QWidget
if QT_BINDING == 'pyside':
@@ -77,7 +77,7 @@ def __init__(self, parent=None):
self.axes = self.figure.add_subplot(111)
self.axes.grid(True, color='gray')
self.safe_tight_layout()
- self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
+ self.setSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
self.updateGeometry()
def resizeEvent(self, event):
@@ -120,7 +120,7 @@ def __init__(self, parent=None):
def _limits_changed(self, event):
self.limits_changed.emit()
- def add_curve(self, curve_id, curve_name, curve_color=QColor(Qt.blue), markers_on=False):
+ def add_curve(self, curve_id, curve_name, curve_color=QColorConstants.Blue, markers_on=False):
# adding an empty curve and change the limits, so save and restore them
x_limits = self.get_xlim()
diff --git a/src/rqt_plot/data_plot/pyqtgraph_data_plot.py b/src/rqt_plot/data_plot/pyqtgraph_data_plot.py
index 5859670..fc49da8 100644
--- a/src/rqt_plot/data_plot/pyqtgraph_data_plot.py
+++ b/src/rqt_plot/data_plot/pyqtgraph_data_plot.py
@@ -29,7 +29,7 @@
from pyqtgraph import mkBrush, mkPen, PlotWidget
from python_qt_binding.QtCore import Qt, Signal
-from python_qt_binding.QtGui import QColor
+from python_qt_binding.QtGui import QColorConstants
from python_qt_binding.QtWidgets import QVBoxLayout, QWidget
try:
@@ -71,10 +71,10 @@ def __init__(self, parent=None):
self._curves = {}
self._current_vline = None
- def add_curve(self, curve_id, curve_name, curve_color=QColor(Qt.blue), markers_on=False):
+ def add_curve(self, curve_id, curve_name, curve_color=QColorConstants.Blue, markers_on=False):
pen = mkPen(curve_color, width=1)
symbol = 'o'
- symbolPen = mkPen(QColor(Qt.black))
+ symbolPen = mkPen(QColor(QColorConstants.Black))
symbolBrush = mkBrush(curve_color)
# this adds the item to the plot and legend
if markers_on:
diff --git a/src/rqt_plot/data_plot/qwt_data_plot.py b/src/rqt_plot/data_plot/qwt_data_plot.py
index 9173ca2..5697f04 100644
--- a/src/rqt_plot/data_plot/qwt_data_plot.py
+++ b/src/rqt_plot/data_plot/qwt_data_plot.py
@@ -31,7 +31,7 @@
import sys
from python_qt_binding.QtCore import QEvent, QPointF, QSize, Qt, qWarning, Signal
-from python_qt_binding.QtGui import QBrush, QColor, QPen, QVector2D
+from python_qt_binding.QtGui import QBrush, QColorConstants, QPen, QVector2D
import Qwt
@@ -75,8 +75,8 @@ def __init__(self, *args):
Qwt.QwtPlot.xBottom, Qwt.QwtPlot.yLeft, Qwt.QwtPicker.PolygonSelection,
Qwt.QwtPlotPicker.PolygonRubberBand, Qwt.QwtPicker.AlwaysOn, self.canvas()
)
- self._picker.setRubberBandPen(QPen(Qt.blue))
- self._picker.setTrackerPen(QPen(Qt.blue))
+ self._picker.setRubberBandPen(QPen(QColorConstants.Blue))
+ self._picker.setTrackerPen(QPen(QColorConstants.Blue))
# Initialize data
self.rescale()
@@ -114,7 +114,7 @@ def resizeEvent(self, event):
Qwt.QwtPlot.resizeEvent(self, event)
self.rescale()
- def add_curve(self, curve_id, curve_name, curve_color=QColor(Qt.blue), markers_on=False):
+ def add_curve(self, curve_id, curve_name, curve_color=QColorConstants.Blue, markers_on=False):
curve_id = str(curve_id)
if curve_id in self._curves:
return
diff --git a/src/rqt_plot/plot_widget.py b/src/rqt_plot/plot_widget.py
index 9ef1929..2b2934f 100644
--- a/src/rqt_plot/plot_widget.py
+++ b/src/rqt_plot/plot_widget.py
@@ -32,9 +32,15 @@
from ament_index_python.resources import get_resource
from python_qt_binding import loadUi
+from python_qt_binding import QT_BINDING_VERSION
from python_qt_binding.QtCore import Qt, QTimer, qWarning, Slot
-from python_qt_binding.QtGui import QIcon
-from python_qt_binding.QtWidgets import QAction, QMenu, QWidget
+from packaging.version import Version
+if Version(QT_BINDING_VERSION) > Version("6.0.0"):
+ from python_qt_binding.QtGui import QIcon, QAction
+ from python_qt_binding.QtWidgets import QMenu, QWidget
+else:
+ from python_qt_binding.QtGui import QIcon
+ from python_qt_binding.QtWidgets import QAction, QMenu, QWidget
from rosidl_parser.definition import AbstractGenericString
from rosidl_parser.definition import AbstractNestedType