There has always been a fierce debate in the Qt world between QML and Wigdget. A lot of beginners ask the same question.

  • Widgets are traditional interface development, similar to VB/VC/Delphi drag-and-drop control development. They are drawn on the CPU to maximize compatibility with existing hardware and the relatively low performance hardware of the past.
  • QML is a product of a new era, starting around 2010, similar to web development frameworks like Flutter /Electron and mobile development frameworks, in order to accommodate all kinds of mobile development and animation smooth touch silkiness, to take advantage of and “squeeze” the current GPU performance, leaving the CPU for the user to maximize.
  • The better the hardware performance, the more powerful the GPU, the better the QML’s overall performance as a widget, and vice versa. With the exception of extremely cost-efficient embedded hardware or home-made cpus, hardware performance in other areas has skyrocketed.
  • Widgets are mainly concentrated in finance, military industry, security, aerospace, shipping, education and other fields, while QML is mainly concentrated in automotive instrumentation, automotive machinery, live broadcasting and other fields.
  • At present, there are more widgets in China than QML, and foreign countries may prefer QML. It is not difficult to see that the majority of popular mobile terminal development frameworks are foreign developers.
  • For the foreseeable future, these two will coexist for a long time. The official will not update widgets but mainly promote QML, which means that the performance optimization of QML will only increase in the future, and the trend is QML.
  • QML is cheaper to learn for beginners with no programming experience, and widgets are better suited for practitioners switching from traditional software development such as VB/VC.
  • Sometimes I wonder why QML should be born from widgets, and there are more learning costs and choices. In fact, this is the same philosophy of the world: the world is simple and complex. To adapt to various needs and meet needs.
  • In conclusion, whether QML or widget, just like finding a wife, you have to choose what is best for you and use what you are good at.
  • If you don’t know which one you are good at, learn both in your spare time. During the learning process, you will feel and compare yourself. To be able to smoothly and quickly complete the boss’s task to make money for the boss is king.