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 ). |