Introduction to several excellent C/C ++ GUI function libraries

Source: Internet
Author: User
Tags wxwidgets

 

Qt

Http://www.trolltech.com

Http://www.qiliang.net/qt.html

QT is a multi-platform C ++ graphic user interface application of trolltech.ProgramFramework. It provides the functions required for application developers to create an artistic graphical user interface. QT is fully object-oriented and easily scalable, and allows true component programming. Since the beginning of 1996, QT has entered the business field and has become the basis for thousands of successful applications around the world. QT is also the basis for the popular Linux Desktop Environment KDE. It also supports windows, Macintosh, UNIX/X11, and other platforms.

 

GTK

Http://gtkmm.sourceforge.net/

GTK is a well-known C open-source GUI library. There are killer applications like gnome in the Linux World. GTK is the c ++ package version of the library.

 

WxWidgets

Http://www.wxwindows.org

Http://sourceforge.net/projects/wxwindows

Http://i18n.linux.net.cn/others/wxWindowstut/wxTutorial.html

Http://www.wxwidgets.cn/

Cross-platform GUI library. Because its class level is very similar to MFCArticleThis section describes how to migrate data from MFC to wxWidgets.CodePort to implement cross-platform functions. After years of development, it is also an increasingly sophisticated GUI library, supporting the same two libraries. And is completely openSource code. Recent C ++
The GUI designer of builder X is based on this library.

 

MFC

Microsoft Foundation
Class ). Anyone who has studied VC ++ should know this library. Although from a technical point of view, MFC is not very beautiful, it is built on Windows
API
It makes it easier for programmers to work, and the programming efficiency is high.
The code that must be written in a Windows program. It also provides all the common C ++
Programming advantages, such as inheritance and encapsulation. MFC
Programs Written in different versions of Windows can be transplanted, for example, in Windows
The code written in 3.1 can be easily transplanted to Windows NT
Or Windows 95
. However, the recent development and official support have become increasingly weak.

 

Fox

Http://www.fox-toolkit.org/

Open-source GUI library. From my own development experience, the author has come up with a feeling of what an ideal GUI library should look like and started development of this library. If you are interested, try it.

 

Wtl

A library based on ATL. Because a large number of lightweight ATL techniques, templates, and other technologies are used, they are well positioned in terms of code size and speed optimization. The main target audience is the developer who develops com lightweight visual controls for download from the network.

 

Fltk

Fltk prefers to develop OpenGL graphics applications. It has the interface designer fluid, which is relatively lightweight. Therefore, it does not support many functions, such as network and print. Use underscores in the code. The interface is similar to motif, which is small and fast. Lgpl protocol, but there are more restrictions (like whether to modify the source code or inherit the widget class ). Dependent on the static callback function. There is no file dialog box, and drag and clipboard are not supported. In comparison, it seems to be more stable than Fox. Similar to motif, function pointers are used to implement the signal mechanism.

 

VCF

Visual component
Framework framework is well designed. Unlike QT and wxwidget, it uses STL in large quantities and has richer APIs than fltk/Fox. Unicode is used by default and supports built-in internationalization (localization) and the Undo/Redo mechanism, multithreading and rtti support is also very good, it can be said that the richness of the function directly forces wxwidget and QT, the Code style is also my favorite type (using namespace and naming like Java ). Its goal is to use C ++ like VB, with visual
The C ++ plug-in supports rad. Use templates and appropriate macros to implement reflection (rtti) (metaobject generation does not need to be like QT), and implement the Event System in observer mode, which is smaller than QT and MFC, about 2 m. The only thing I regret is that it is not mature enough.

 

Notus

The design style is more modern framework, a lot of use of STL/Boost and template technology, if you hate hierarchies and polymorphism GUI framework, this is suitable for you. Unfortunately, this project is not mature enough (pre-alpha ).

More GUI toolkit: http://www.atai.org/guitool/

 

Win32 Gui
Generics

Http://www.torjo.com/win32gui/index.html

This is a pure C ++ library. It uses the advanced features in C ++ to avoid many problems in MFC.
Handler mechanism and message in MFC
The map mechanism is essentially different, so unlike MFC, there is an inexplicable macro, and the entire framework is very clean and tidy. Of course, the code written is the same!

With surfaces, You can reinvent your UI, just like you always
Wanted!

The surfaces concept is nearly finished! Of course, they're in Alpha
Stage, but just take a look at what they can do!

 

Conclusion:
1. C Programming Using GTK +
2.
C ++ large applications use gtkmm/wxwidget. I personally prefer the former. Although GTK + porting on the Windows platform is not well supported, there must be a designer for rapid development.
3.
If VCF is mature, it will be a good choice.
4.
Fox is boring
5.
Fltk is suitable for graphics and image programs. If it is a 3D application or game, the general game engine framework implements a built-in GUI framework, such as the nebula framework, which is very attractive; the ghost of Blender is also very good (but GPL ).


Related Article

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.