Best approach for using Qt to build GUI for legacy system
-
New to the group, and very new to Qt.
I am currently working on a Navy program that is mostly a legacy system built with Ada/C++. The desire is to use Qt for rebuilding the GUI (which was previously built using Builder Xcessory), which will consist of a good amount of re-used design (layout/functionality only) and some new features/design.
My question is this, being new to Qt and only having so far built a real simple QtWidgetApp, I am wondering if there is any good info regarding how to best use Qt for building GUI for a legacy system? Most Navy systems are very stovepiped when it comes to their GUI. You get a main "home" screen where everything is presented in a series of fixed windows and resulting popups/drill-downs.
As I notice that Qt has a plugin project, I am wondering if our main home screen should be made up of a series of plugins to manage the various components and/or windows/popups that exist within that home screen?
-
welcome to the forum. I'm not clear about stovepipes. You can follow either approach make your UI happen. Personally I feel plugin approach is better to better maintainability and scalability.
-
Thanks for the quick response. Is there a general rule set or guideline for deciding when to best use a pluging versus using a widget app or just simply building widgets all within a fixed workspace? By stovepipe, that is what I meant. Everything on the screen was a fixed workspace where all GUI, widgets, popups, etc, were situated. It makes for quite the bulky piece of GUI software.
Our Qt GUI is going to need to communicate with legacy Ada applications if that helps anyone here in their potential responses.
-
Hi and welcome to devnet,
This really depends on how you would like your code to be organized. e.g. Qt Creator is essentially an empty shell with lot's of plugins. But you can very well have all your various widgets in only one place e.g. Qt's assistant.
The communication part should not really influence the GUI part. Create your core logic to be independent of your GUI and you'll have freedom to build over it.