Comparison between QT and MFC and cross-platform advantages of QT

Source: Internet
Author: User
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.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.