Is Qt the good tool for me.?
-
Hello everyone,
So I'm a C# dev since now almost 15 years. I have start by making classic data management software, but years after years i was bored of that kind programming.
Since now 3 years I work in a French company in Research and Dev department, making all days only engine prototype for our clients. We do not sell any products (well almost), we just make specific prototype, rent to our client for some month/years and made another, etc..
I actually working on some remoted control engine for cleaning dangerous, explosive area.
Our operator are seat in safety area, in a modern cabin with mutli Dof platform, joysticks plane, 3D views camera, etc..)
All this part is made with C# .NET and works like a charms, we already have some PC on some remote controlled engine, but PC are big, expensive (windows license).
We will start to work with some Jetson Xavier, for engine side, and why not in time in control side too.
Of course, C# and jetson world are not really the same world, so now i need to choose, python or C++... i have made my first choice with c++.
I don't want to write software by using notepad, compiler, etc, etc.. I use and know very well Visual Studio, but is too much oriented windows in my mind, i want to detach my head from windows.
I use DevExpress controls in C# for very cute GUI, fast databinding, easy to customize (lot of gauges and charts).
https://www.devexpress.com/products/net/controls/wpf/gauges/Good and beautiful GUI is really important to us, and we want a new IDE who can give us the best UI render.
So, here question, did Qt can be a good choice for me? On the Qt main page, we can see lot of perfect render, but when you run Qt Creator, controls library are poor (IMO), theses controls on Qt main page are made one by one, or can be found in full control library? maybe with come specific license?
Is Qt6 are good choice for creating jetson program? Can you confirm i can write code in windows and run my code on Linux? (of course without using Windows.h).
What kind of library i use in my projects in general :
Some *.dll for our IO/PWM. https://www.poscope.com/product/pokeys57u/
Direct X for reading our joysticks.
Zed Camera from stereolabs.Maybe my question are stupid for some of you, but our company need to take a corner and this choice is really important for the future.
Thank you in advance.
-
Hi
Qt has 2 main modes. the classic Desktop, which it called QWidgets,
and the more touch-friendly and OpenGL-enabled one called QML.
QML is good for mobile and slicker interfaces. its javascript + c++ backend.
QWidgets are good for desktops apps. python and c++.The standard control pack is not that huge. But offers stylesheets for QWidgets to tweak the look and
QML is good at custom drawing.However, none of them comes with something as slick as WPF Gauge, but
it can be made. The data aware classes are not that extended but it supports enough to be able to use a DB pretty easy.- Is Qt6 are good choice for creating jetson program? Can you confirm i can write code in windows and run my code on Linux?
Well, you can surely compile Qt for it. And Qt Creator supports connecting to remove dgbserver so it should be possible to set it up to allow directly running app on
the board with debugger etc. It worked really well for Pi boards. I have not tried it with that many others.However, with such a board, you move into the area of embedded programming and the will be some up front work to get Qt to the device and
make a runtime image for it. However, if you not free Qt, the support for "boards" in general have better support/comes out of the box.Did you look into .net on Linux ?
-
Hello and thanks for your answer, with some search in Qt, online etc.. i have found some really interesting result : (i have upload that on youtube non linked video to show my boss, remote work)
https://www.youtube.com/watch?v=4kP4Pjc5ZS4
Did those control can be linked to C++ data code? (i dont really understand now how timeline works) Or maybe, better, databing, with (like C#) some kind of PropertyChanged event.
I understand a little bit more the power of Qt and, with some search apparently, running Qt tools on Jetson is excatly the same than other linux desktop.. maybe I'm wrong.
-
Hi,
A Jetson is an embedded system but one powerful enough to develop directly on it if you want.
It won't replace a high end desktop machine but I don't think that would be an issue in your case.
I would recommend nonetheless to consider learning to develop on Linux. It will simplify a lot of tasks.
-
@LudoFR said in Is Qt the good tool for me.?:
Did those control can be linked to C++ data code?
Surely, that is QML frontend that can data from the C++ backend. However, unless you find them somewhere, you'll have to design those yourself - as far as I can tell those controls are not part of Qt (I might be wrong, QML is not my main field of interest).
But in the principle, yes. Moreover, you can easily (with a little work but once you get your mind around the principles it is quite straightforward) stream the data almost directly from the database to the controls, be them widgets or QML.
And I second @JoeCFD - ditch version 6 for now. Try 5.15.
-
Thank you everyone for your interesting answers.
@artwaw said in Is Qt the good tool for me.?:
as far as I can tell those controls are not part of Qt
Well in fact, if you talk about the controls in video, is simply some layers, with pictures, background and animation, that kind of "way to work" is new for me, this is just some vectorial image with animation in time line. that why i have asked about C++ data binding.
@artwaw said in Is Qt the good tool for me.?:
stream the data almost directly from the database to the controls
The basic concept of all our projects is :
Read joystick, show live value to driver, (on windows C# .NET, that can change later) send data over UDP, receive data (on Jetson), show live value into the engine cockpit (no driver, just for maintenance, ok.. and fun commercial too) and affect those value to GPIO/PWM cards. Its really simple in fact.
No database at all, some JSON files for saving logs and parameters, but 99% real time value.
@SGaist said in Is Qt the good tool for me.?:
I would recommend nonetheless to consider learning to develop on Linux. It will simplify a lot of tasks.
Is that a real difference coding on Linux and Windows? I code sometimes on Mac and except the language, not much difference than windows..
My souvenir from school, Linux and JAVA on Eclipse... same too, except some apt-get and other command sometimes i do not feel a real difference, maybe c++ and Qt are.
So if i understand this sentence good, not a possibility to code on Qt windows and compile for running Linux jetson?
I can dual boot with an Ubuntu this is not problem, TBH I don't like Linux a lot in my heart.. but that for work so I will do like at school, (re)learning Linux..
What's happen with Qt6? Is that a beta? Or an unstable release? (that a little scary to ear the last version of a tool is not recommended)
-
@LudoFR said in Is Qt the good tool for me.?:
So if i understand this sentence good, not a possibility to code on Qt windows and compile for running Linux jetson?
You misunderstood. Yes you can, it's just a lot more complicated than doing it from Linux directly.
As for Éclipse, it's nothing Linux specific. Do not let an old bad experience on an unrelated tool block you from trying something actual and modern.
As for Qt 6, 6.2 will be the next LTS release and should be at feature parity with Qt 5. Until it, many had issues with missing modules hence it got bad press for that although it was clearly announced that the modules would be brought back at later point.
-
@SGaist said in Is Qt the good tool for me.?:
Do not let an old bad experience on an unrelated tool block you from trying something actual and modern.
I will not, what's the best Linux distribution according to you for work with Qt?
Ubuntu, Mint, etc.. i have no idea about difference between all this distribution, Linux, same system, but not really the same... it's complicated..
(With a nice UI if possible, that doesn't mean look like Windows)
I have a Pro Version of : https://zorin.com/os/, I will try on it but it look like more for family's than pro's..
@SGaist said in Is Qt the good tool for me.?:
As for Qt 6, 6.2 will be the next LTS release and should be at feature parity with Qt 5. Until it, many had issues with missing modules hence it got bad press for that although it was clearly announced that the modules would be brought back at later point
Ok thank you for that, but hope the update is free, if I paid almost 4000$/year for V5.15, can I up to Qt6 once stable and fixed, with same subscription.
-
@LudoFR said in Is Qt the good tool for me.?:
if I paid almost 4000$/year for V5.15
Not sure whether you mean you have already paid that or are still thinking about it. You can always look at the free/open source version of Qt first to see if it suits your requirements, before you determine whether you need a commercial subscription if you decide to proceed.