Skip to content

Migrate from Qt5 to Qt6 - #10

Open
mchamberland wants to merge 2 commits into
mainfrom
qt6-migration
Open

Migrate from Qt5 to Qt6#10
mchamberland wants to merge 2 commits into
mainfrom
qt6-migration

Conversation

@mchamberland

@mchamberland mchamberland commented Aug 11, 2026

Copy link
Copy Markdown

Summary

  • Port eb_gui from Qt5 to Qt6 so it builds cleanly with modern Qt (widgets + charts).
  • Replace removed APIs (QRegExp/QRegExpValidator, QString::SkipEmptyParts, QSignalMapper::mapped, mouse/wheel event helpers, QString/char/int conversions, font weights).
  • Update the qmake project for C++17 and a plain ../eb_gui executable, and refresh the README install notes.
  • Align macOS gui_location with the non-bundle layout by removing the old .app/Contents/MacOS upward path adjustment.
  • Enable QT_DISABLE_DEPRECATED_BEFORE=0x060000 so remaining pre-Qt6 deprecated APIs fail at compile time.

Test plan

  • With Qt 6 installed: cd source && qmake6 && make
  • Confirm ../eb_gui links against Qt 6 frameworks/libraries and launches
  • On macOS, confirm configuration.txt, database/MAR_defaults.txt, and database/metric_defaults.txt are found relative to the executable directory (not via a .app path traversal)
  • Smoke-test DICOM load, phantom/source tabs, and dose charts/isodose interactions
  • On dual Qt5/Qt6 systems, verify qmake6 (not Qt5 qmake) is used

Replace removed Qt5 APIs so the project builds cleanly with Qt 6 widgets and charts.

Co-authored-by: Cursor <cursoragent@cursor.com>
@clrp-code clrp-code deleted a comment from cursor Bot Aug 11, 2026
Use applicationDirPath() directly now that app bundles are disabled, and fail the build on pre-Qt6 deprecated APIs.

Co-authored-by: Cursor <cursoragent@cursor.com>
@clrp-code clrp-code deleted a comment from cursor Bot Aug 11, 2026
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.

1 participant