Skip to main content

Porting a Large Desktop CAD Application to Qt

BricsCAD is a cross-platform desktop (linux/mac/windows) CAD application with over 20 years of history and a rapidly accelerating pace of development. A little over two years ago, they decided to replace their UI framework (wxWidgets + MFC on windows) with Qt/Qml (+ MFC on windows). With initial estimates of complete conversion totaling 50 dev-years of work, it was clear that this is was undertaking of epic proportions, spanning multiple actual years and a number of releases. This talk will focus on the high-level architecture of the qt/qml integration. How did Bricsys integrate Qt into an MFC/wxWidgets app and what are the pitfalls for various platforms? How do they structure their new C++ and/or qml plugins, qml tests, what paradigms are used to let the back-end talk to the front-end? Special mentions go to their live reload solution and integration of qml tests into existing infrastructure, as well as a short overview of lessons learned using qml for desktop development at BricsCAD scale. Learn more about Qt: https://qt.io