PDA

View Full Version : New to QT sort of, should I use QT or QML



davidfig
7th April 2014, 17:29
Hello All,

I am working to make a reusable system of software that can cover a large area of device usage (not in the mobile space) in the device space. Below is a list of some of the things I need to do.

1. Adjustable transparency of multiple layers of UI
2. Video to a widget with overlays
3. Non-rectangular graphic elements
4. fly-out windows

My question is simple: I would like to use QML but do not know if it can handle all these features. Which is better to use Qt for its maturity or QML can do all this?

I would like to use QML, but hesitate. Can it do these things.

Infinity
7th April 2014, 22:35
Maybe this overview helps you with your decision: http://qt-project.org/doc/qt-5/topics-ui.html
I'm not so familiar with QML so I'm not sure if everything on your list is supported out of the box but I think to implement the things you want using Qt widgets is more complex. What do you mean with fly-out windows?

ricardodovalle
7th April 2014, 22:56
I think it is easier to do this using App Node.js, HTML 5 and javascript.
Like this one: https://github.com/popcorn-time/popcorn-app
But I don't know your project.

For QML:
1. Is it possible and easy. There a bright control for ubuntu example.
2. I don't know, never worked with video, but there are a lot of libraries, I think it is possible.
3. Maybe You can work with rectangular with transparency area, I saw some example at http://quitcoding.com/
4. Is it possible.

davidfig
8th April 2014, 01:19
I realized that there is one thing missing. This is for medical device. Not sure I should use javascript and HTML5.

ricardodovalle
8th April 2014, 06:20
Like I said, i don't know your project.

QML is cool and it will be easy to do an float and beautiful interface, with themes and nice effects, but I wouldn't use QML for medical devices at first moment, because it is quite new and a lot of things are changing each new version, my personal opinion, to use QML you will need a better know-how. So, to do that, I would choose the technology that I am better.

I would develop using Qt/C++, there are more example, a lot of documentation (this is important) and a bigger comunity. With Qt 5.3 will be easier to integrate QWidgets with QML, so you can test and reuse more source code.

I hope it has helped you.


Winner winner chicken dinner!


I realized that there is one thing missing. This is for medical device. Not sure I should use javascript and HTML5.

wysota
8th April 2014, 10:09
Hello All,

I am working to make a reusable system of software that can cover a large area of device usage (not in the mobile space) in the device space. Below is a list of some of the things I need to do.

1. Adjustable transparency of multiple layers of UI
2. Video to a widget with overlays
3. Non-rectangular graphic elements
4. fly-out windows

My question is simple: I would like to use QML but do not know if it can handle all these features. Which is better to use Qt for its maturity or QML can do all this?

I would like to use QML, but hesitate. Can it do these things.

You can do all that provided you have knowledge how to do it. From your list we have no idea what functionality is to be implemented so it is hard to say whether it will be "easy" or "hard" to obtain that functonality. As far as your list is concerned, it should be rather easy to do that in Qt Quick/QML. However you should also consider using GraphicsView if your C++ skills are strong compared to your QML knowledge.

anda_skoa
8th April 2014, 10:23
I think the described feature set is something that would benefit from QtQuick, especially QtQuick2.

Cheers,
_

P.S.: "should I use Qt or QML" does make little sense, the only production ready implementation of QML right now is Qt based.

davidfig
10th April 2014, 16:39
This is exactly what I suspected. I see QML much like WPF in C# which has great power. But if QML is not mature then it could be a problem down the road. The only saving grave here is that this project will take two years and QML has two years to mature. That also means I may have to weather the pain of transformation of QML over time.

Thanks for your answer. It solidified my thinking a lot.



Like I said, i don't know your project.

QML is cool and it will be easy to do an float and beautiful interface, with themes and nice effects, but I wouldn't use QML for medical devices at first moment, because it is quite new and a lot of things are changing each new version, my personal opinion, to use QML you will need a better know-how. So, to do that, I would choose the technology that I am better.

I would develop using Qt/C++, there are more example, a lot of documentation (this is important) and a bigger comunity. With Qt 5.3 will be easier to integrate QWidgets with QML, so you can test and reuse more source code.

I hope it has helped you.

Understood. I guess it would have been better to say declarative or not.



P.S.: "should I use Qt or QML" does make little sense, the only production ready implementation of QML right now is Qt based.

anda_skoa
10th April 2014, 17:02
The only saving grave here is that this project will take two years and QML has two years to mature.

QML has been introduced in, I think,Qt 4.6, so it is already a very established technology.
QtQuick is used for tons of mobile (e.g. phones) and embedded device UI use cases (control panels, etc).


That also means I may have to weather the pain of transformation of QML over time.

If you mean incompatible changes then I don't think that would happen before Qt6.
The QML engine's internals got changed recently and new components have been added to QtQuick, but neither affects applications using the already existing components or using QML for other things than UI.

Cheers,
_