CopperSpice Migration guide for Qt Developers
Posted: Fri Aug 04 2017 2:38 pm
Hello, firstly a disclaimer. I am not a very experienced Qt developer, and as such, I just spent a considerable time coming up to speed with the threading and messaging limitations in Qt. Although I eventually figured them out, it was not trivial. Specifically, it was a big challenge to long lived background threads to regularly update widgets in the main GUI thread using the signals/slots mechanism. More importantly however, developing with Qt promotes bad C++11/14 practice in the files that are affected by MOC - specifically when it comes to allocating via new and not deleting. The whole idea of bypassing MOC with pure C++14 counterparts is very enticing.
I recently came across your product after listening to an interview on CPPCast, the weekly C++ podcast. I have to say that the product sounds intriguing, but what I am missing is what I have to do from an application maintenance/IDE workflow point of view.
I am in the middle of a completing a wrapper that I am adding to a suite of libraries that make extensive use of pure C++11/14. I needed to add one open source plugin to support reading configuration data from an Excel spreadsheet (https://github.com/VSRonin/QtXlsxWriter) and all the other dependencies are pure C++ libraries – i.e. boost, and my own libraries.
I develop using Visual Studio 2017 with a pre release QT VS TOOLS add in for Qt 5.9.1 (although to my knowledge none of my Qt widgets are specifically 5.9.1 specific) – this allows me to directly launch the Qt Designer (not sure what the difference is between this and Qt Creator) from within the IDE to edit my UI files while also allowing me to MOC, compile, link and debug the application.
I ran the PepperMill application on my source folder containing my Qt GUI files and it looks like it produced sensibly translated headers that do not depend on MOC. Now the question is how to firstly migrate my current application source (I need to change the include and library paths presumably away from Qt) – can I keep using Qt Creator to maintain my Widgets (it’s a super UI developer tool). How do I integrate this with my Visual Studio workflow, this is where I need guidance.
I prefer to develop with the Visual Studio IDE as the debugging platform is the best I have come across. I would greatly appreciate your insight into the best way to maintain an easy to use workflow within Visual Studio – perhaps you could do something similar to developing a plugin similar to QT VS TOOLS that would make this migration seamless. I do know that Visual Studio 2017 has an open folder option to open a CMake project, perhaps that would be one way forward, however for those looking for a simple upgrade path from Qt, it would be preferred to convert the existing qmake .pro file to cmake via some sort of wizard.
Lastly, DoxyPress does not create RTF files, it breaks at the end of the run. The html output is great though but we need rtf files in our projects for inclusion in word documents.
Anyway, this is my 2c worth after seeing your product for the first time the other day. Keep up the great work.
John Coffey
I recently came across your product after listening to an interview on CPPCast, the weekly C++ podcast. I have to say that the product sounds intriguing, but what I am missing is what I have to do from an application maintenance/IDE workflow point of view.
I am in the middle of a completing a wrapper that I am adding to a suite of libraries that make extensive use of pure C++11/14. I needed to add one open source plugin to support reading configuration data from an Excel spreadsheet (https://github.com/VSRonin/QtXlsxWriter) and all the other dependencies are pure C++ libraries – i.e. boost, and my own libraries.
I develop using Visual Studio 2017 with a pre release QT VS TOOLS add in for Qt 5.9.1 (although to my knowledge none of my Qt widgets are specifically 5.9.1 specific) – this allows me to directly launch the Qt Designer (not sure what the difference is between this and Qt Creator) from within the IDE to edit my UI files while also allowing me to MOC, compile, link and debug the application.
I ran the PepperMill application on my source folder containing my Qt GUI files and it looks like it produced sensibly translated headers that do not depend on MOC. Now the question is how to firstly migrate my current application source (I need to change the include and library paths presumably away from Qt) – can I keep using Qt Creator to maintain my Widgets (it’s a super UI developer tool). How do I integrate this with my Visual Studio workflow, this is where I need guidance.
I prefer to develop with the Visual Studio IDE as the debugging platform is the best I have come across. I would greatly appreciate your insight into the best way to maintain an easy to use workflow within Visual Studio – perhaps you could do something similar to developing a plugin similar to QT VS TOOLS that would make this migration seamless. I do know that Visual Studio 2017 has an open folder option to open a CMake project, perhaps that would be one way forward, however for those looking for a simple upgrade path from Qt, it would be preferred to convert the existing qmake .pro file to cmake via some sort of wizard.
Lastly, DoxyPress does not create RTF files, it breaks at the end of the run. The html output is great though but we need rtf files in our projects for inclusion in word documents.
Anyway, this is my 2c worth after seeing your product for the first time the other day. Keep up the great work.
John Coffey