C ++ Windows Forms + MFC + wtl + wxWidgets + QT + GTK + unofficial comprehensive comparison

Source: Internet
Author: User
Tags gtk wxwidgets qt designer

Original article: http://www.cppblog.com/lingjingqiu/archive/2009/01/06/71363.html

Interface library name

Interface Design

Interface Editor

Advanced Layout

Planialization

Platform compatibility

Language Support

IDE compatibility

View-model Separation Mechanism

Runtime

Others

Windows Forms

excellent interfaces. Use CLI extension in C ++. Other languages are supported by native.

the UI editor is complete, including the complete settings of layout, attributes, and message Association. Cannot be previewed.

table layout, splitter layout, flow layout, etc., anchor and dock mechanisms. The multi-resolution interface performs well.

GDI +, an object-oriented 2D drawing interface, is easy to use.

. NET platform support is required. Windows or Linux (Mono, not officially supported), supports Windows CE

C ++/CLI, supports. NET language.

only.

layout and view schemes are built in Code . Some components support the Model-View architecture.

deploy the corresponding. Net

Commercial Agreement

MFC

Based on macro and virtual functions, use special format annotations and custom rtti systems. Class interface design is excellent. Call customer code through callback functions and virtual inheritance overload.

Based on the Resource editor, you can only adjust the basic layout of a space and a few attributes. Cannot be previewed.

the advanced layout function is not available, multi-Resolution needs to be adjusted manually or in Program .

GDI and GDI encapsulation; Optional: GDI +

Windows, Windows CE

C ++ only,
Binary-level multiplexing can be implemented when com is supported.

only Visual Studio

use the resource to save the layout of the basic controls of the control, and provide the doc-view mechanism and control data exchange to support view separation.

you need to deploy the MFC Runtime Library.

Commercial Agreement

wtl

Based on templates and virtual functions. Similar to MFC. Multiple inheritance is required. Use template features and callback functions to interact with customer code.

same as MFC

same as MFC

same as MFC

same as MFC

with MFC, COM is much better than MFC.

Visual Studio supports Standard C ++ compilers in windows.

use resource files to save the layout.

none

Free Agreement

wxwidget

macro, custom rtti. Use the callback function to interact with user code.

the editor is unavailable. You can use a third-party Interface Editor. Some editors have the complete WYSIWYG function and the preview capability.

Use sizer to implement multi-resolution la S. Weak functions.

wxdc.

Windows, Linux, UNIX, and MACOs

C ++ ,. net, Python,
Lua,
Ruby, etc.

excellent compiler compatibility and lack of IDE inheritance.

you can generate interface properties into the code or save them in XML format.

dynamic or static links of Wx.

Free Agreement

QT

Use macros and custom rtti. Use the singal-Slot Mechanism for user code interaction. Extensions can be implemented through inheritance.

QT designer provides a complete WYSIWYG editing function. You can preview the page.

provides the complete layout function. High Performance in multi-resolution/multi-platform environments.

qcanvas.

Windows, Linux, UNIX, and MACOs.

C ++, Python, etc.

integrated into eclipse and vs

use the resource file to save the interface information. Some components have the Model-View-delegate architecture

QT dynamic link library.

open source protocol + commercial protocol

GTK +

Use the signal-Slot Mechanism to complete user code interaction.

Glade, with WYSIWYG interface editing

Layout containers with complete layout capabilities.

GTK graphics context

Windows, Linux, UNIX, and MACOs.

C, C ++, Python,. net, etc.

(Unknown currently)

Use the code to complete the interface settings. Some components have the Model-View architecture.

GTK Runtime

Open source Protocol

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.