The MFC (Microsoft Foundation Classes) is a C++ Windows class library launched in 1992. It is used with the Virtual Studio development environment. The MFC organizes applications according to a Document/Views architecture, the Document part managing the application data while the Views part manages the visualization of the data. The Views part manages the interface events (hover over the button, click mouse) by the message’s intermediary. Thanks to serialization, the Documents part safeguards the object data. The MFC are well documented thanks to MSDN (Microsoft Developer Network). In addition, one can include an interface based on the Ribbon interface of the last versions of MFC.

Launched in 1995, QT is a C++ multiplatform library for developing graphic applications. The development environment is QY Creator or QT Designer. QT uses signs/slots to communicate with the user interface. With QT, your applications can compile on Mac, Linux, and Windows, whereas MFC is uniquely for Windows. A QT application can work with a Linux web server. QT is open source but has to be paid for commercial use.

Transforming an MFC application into a QT application is necessary on one hand to change the Document/Views architecture and on the other to recode the entirety of the dialogue boxes, messages and the user interface.

The main advantage of QT is its compatibility with other operating systems. In addition, QT creates more modern applications interfaces. The MFC makes use of a significant application base and numerous developers have knowledge of MFC. You should choose your MFC or QT library according to your needs.