I. Advantages of QT:
1. cross-platform
2. the signal-slot mechanism is too elegant. Compared with MFC, its non-Form class also supports this mechanism. This designer's idea is admirable, and because its non-Form class also supports this mechanism, so many of its usage makes people feel bright, such as the use of qtimerevent, whether it is a form or not, can support timer, this is much more flexible than MFC
3. Easy to use. Many mechanisms are similar to those of MFC.
4. To a certain extent, the memory recovery mechanism is simplified, which is much better than that of MFC. Of course, this can be done using the framework using MFC, but you must implement the Framework yourself.
5. The development efficiency is much higher than that of MFC (the evaluation of the old bird in the past seven years by MFC)
6. whether the vitality of a platform is strong depends on the technical advantages, the document also contains the number of users, QT these three points have a great advantage, if you can improve the efficiency of the embedded platform, that's perfect.
7. c ++ finally has a pleasing GUI Library
------------------------------------------
Ii. QT deficiency:
1. The time for compilation is a bit scary. At present, there is no way to compare it with vs, or maybe I am used to.
2. The signal-slot ing mechanism uses the connect method. The Calling rule is to convert the calling interface to the string format. This is not ideal because the syntax error cannot be detected at the Compilation Time.
3. the running efficiency is not as high as that of MFC. QT has clearly stated in its document that the interface effect depends on the local Interface Engine. Of course, I also know that it depends on the local engine, it is wise for Qt, but for embedded systems, the running efficiency is often fatal. Therefore, I personally hope that QT will not grow bigger and better.
4. the internationalization method is not built-in support, but requires programmers to specify the encoding used, which makes me feel very uncomfortable, especially compared with the MFC, its internationalization method is built-in support in the Unicode version.
5. inter-process communication (IPC). It is estimated that there will be no better way to solve this problem, especially for non-QT applications.
Iii. cross-platform 1. Significance of cross-platform
Many people love to talk about cross-platform. In fact, cross-platform is useful to you. You develop Java applications, but you only run your applications on Windows. is cross-platform meaningful to you !? You are still spitting out the molt, what are you playing!
2. Differences between cross-platform QT and other languages
Regardless of Java or C #, their cross-platform feature is that one compilation is run everywhere, while qt's cross-platform is exactly the opposite, however, it makes full use of the Efficiency of C ++.
3. Contributions of QT to the embedded system industry
I personally think that, whether it is desktop application development or embedded system development, there is a very serious problem, that is, there is no standard language framework, whether it is Java and C #, but QT can't solve this problem.
As far as I know, QT can now run on a personal computer and on an embedded system. She can run operating systems such as Windows, Linux, Solaris, Mac, WinCE, and vxwork, the famous Photoshop is compiled with it and only needs to be re-compiled. The cross-platform Java is a joke to some extent. As far as I know, the system I mentioned above is a joke, java is not seamless.
I am engaged in Motion Control. What is lacking in the IOT and embedded systems industries is the language problem. If you develop different nodes in different languages, what integration do you need to talk about? Because technology cannot be popularized, development is always limited!
4. Learning QT is correct.
If you want to learn it, you will certainly not regret it. If you do VC, it's easy to get started.