Skip to content

Fix MotionPlanning combo box signals for Qt6 - #3745

Open
andrearosasco wants to merge 1 commit into
moveit:mainfrom
andrearosasco:fix-qt6-motionplanning-combobox-signals
Open

Fix MotionPlanning combo box signals for Qt6#3745
andrearosasco wants to merge 1 commit into
moveit:mainfrom
andrearosasco:fix-qt6-motionplanning-combobox-signals

Conversation

@andrearosasco

@andrearosasco andrearosasco commented Jun 2, 2026

Copy link
Copy Markdown

Summary

Fix the MotionPlanning RViz plugin's named-state combo box connections when built against Qt6.

Qt6 no longer exposes the old text-carrying QComboBox signal names used by the plugin's string-based connections:

  • activated(QString)
  • currentIndexChanged(QString)

In a Qt6 RViz environment this produces runtime warnings such as:

QObject::connect: No such signal QComboBox::activated(QString)
QObject::connect: No such signal QComboBox::currentIndexChanged(QString)

When those connections fail, selecting a named Start State or Goal State in the MotionPlanning panel does not invoke the corresponding handler, so selecting a named goal such as home does not update the query goal state.

For more details check #3744

Changes

  • Use QComboBox::textActivated for Start State and Goal State under Qt6.
  • Use QComboBox::currentTextChanged for Planning Group under Qt6.
  • Keep the existing Qt5 string-signal connections for Qt5 builds.

Testing

Tested downstream in a RoboStack Lyrical Qt6 RViz environment by rebuilding moveit_ros_visualization with this patch and verifying that the MotionPlanning panel no longer logs the missing QComboBox signal warnings and named goal-state selection works again.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request updates the MoveIt MotionPlanning RViz plugin’s QComboBox signal connections to use Qt6-valid, text-carrying signals so named Start/Goal state selection and planning-group changes correctly invoke their handlers when built against Qt6.

Changes:

  • Add a Qt-version conditional to connect start_state_combo_box / goal_state_combo_box using QComboBox::textActivated under Qt6.
  • Connect planning_group_combo_box using QComboBox::currentTextChanged under Qt6.
  • Preserve the existing Qt5 SIGNAL(...)/SLOT(...) string-signature connections for Qt5 builds.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@simonschmeisser

Copy link
Copy Markdown
Contributor

Doesn't the "new" style connect also work for Qt5? It would be good to drop the legacy SIGNAL SLOT code from Qt4 completely

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants