PDA

View Full Version : Qt Quick or Qt Widgets for data visualization desktop application? Your opinion?



slanina
7th May 2013, 10:53
I am developing an application that will be used to visualize and analyze data from various sensors collected over time.
Visualization will be in terms of color pallete where certain range of values are tied to a particular color with some gradient.
User will be able to scroll the data set, zoom in, zoom out.
User will be able to "draw" bounding boxes on the data set - stored in separate file; as user scrolls if it comes to a section where bounding box was it will be drawn again.
Dataset will be fairly large (3-4GB) but only a portion will be drawn at the time (depending on zoom factor). Scrolling should be without delays to a point.

I would be very much interested in doing this application in Qt due to multiplatform capability and possibly putting a version of this GUI on an embedded device with touchscreen. Also I want it to run on Linux (primarily) and Windows.

I am debating between Qt Quick (QML) and Qt Widget based.

I have lots of software development experience and did many projects in C++ and C#. In C# for the past few years I have been using Model-View-ViewModel architecture where I would write complete GUI in XAML and model & logic in C#. Then I can change either one or do testing and the other remains intact.

I think with QML this decoupling is also possible, but I do not see QML being promoted for complex desktop application development with some use-cases and scenarios being given as an example of a proper way of using it for complex desktop apps. Also in 5.1 desktop widgets are just coming out.

Then again, Qt quick and QML seems to me as being promoted for the future. Application I am talking about would have to be maintained with version increments and GUI updates when needed for years to come. So if Qt decides to drop either widgets or QML or stop making enhancements, I would be in trouble if I selected the wrong technology.

What are your thoughts based on the above?

wysota
7th May 2013, 23:04
According to my experience the information you provided is not enough to decide between the two. Using Graphics View keeps you on the safe side (you don't have to do any custom QML item coding which can be painful if you want to do it properly) while using QML would require less code to be written. Decoupling model from presentation is possible for both technologies so that's not a decider.