zl程序教程

您现在的位置是:首页 >  后端

当前栏目

C++ 100款开源界面库 (10)

C++开源 10 界面 100
2023-09-27 14:28:14 时间
    前面两个教程已经对制作界面的几种方式进行了比较,权威界面库已经比较过了,那么接下来就是上一个教程介绍的那三种方式。     而上一个教程已经说的很明确了,用那三种必须得依靠开源库!(或者像腾讯这样有实力的公司自己开发)         C++相对于Java和C#而言,确实有点悲催。C#有强大的微软做后盾,Java也是被Sun养大,而C和C++由贝尔实验室发明,毕竟C++只是贝尔实验室中很普通的一项发明,并且C++的最大受益者也不是贝尔实验室,从C++ 03 到C++ 2011隔了8年时间,显然没有Java和C#及时,毕竟他们都是公司运作,并且是公司中很重要的成员。而C++的推动就只能靠开源社区啦,boost是最大的贡献者啦,然后就是linux社区、Apache等公司,再接着就是各种开源库的作者啦。     没有公司的运作,显然很多方面都比不上Java和C#。比如C#有个很著名的NOPI,操作Office毫无压力,而C++就只有几个没人维护的库,还不如用微软的COM接口。java有个很著名的JFreeChart,显示各种曲线图表都够了,但C++就没有,只有Codeproject上面有几个,不过还是达不到要求,但是商业的曲线库老板又不会买,就苦了我等码农了。Office还好,微软的接口一向好用,在现有开源代码的基础上,花个把星期就可以封装个很不错的库。而曲线图表这个东东不像按钮控件,真的很难做,难做的不是画图,而是各种曲线的管理,和各种效果功能的实现,细节问题一大堆,而C#和Java却不会遇到这种常用控件还要开发的问题。 这只是其中的两个例子而已,Alberl平时查资料的时候,也发现了C++的很多不给力(主要体现在界面方向,逻辑方向倒是非常给力),因为C++本来就只是逻辑处理,连多线程都没有,界面就更别提了,而C#和Java都是一整套开发框架,所以非常省事。注意啦,这里不是劝大家不要用C++,而是说C++真的需要做很多事情。对C++开源库的牢骚完毕^_^     还记得第二个教程给出了数十款播放器的对比吗? 同样有NB的老外给C++的界面库也做了详细对比,同样也有上百种~O(∩_∩)O~     下面请看正文(格式支持不好,推荐看原文。可能很少小伙伴会看完,不过最后面有Alberl的分析哦~): 原文链接:http://www.free-soft.org/guitool/
research-oriented toolkit from CMU. native look andfeel. High-level support for interactive interfaces: Direct Manipulation Behaviors, Undo, Animation, etc. original project at CMU completed and Nolonger supported. However, another group has picked up development as OpenAmulet.
Collection of general purposes libraries essentially coded in C++ and working under UNIX and Windows. containing GUI library
The Fast Light Tool Kit. API modeled afterXform,but in C++. SGI Motif look and feel. good documentation.( Fluid, an UI builder)
"a cross-platform object-oriented framework for building interactive applications usingOpenGL or similar APIs such as Mesa. It is, at its heart, an C++ wrapper for GLUT, providing a fully object-oriented API for creating windows, menus and other GUI elements, and for event handling. GLOW also features an extensible cross-platform widget library for building powerful user interfaces."Note:Thusportable to any platform where a functional OpenGL implementation exists(including Mesa )
a library for "drawing pictures, functions or othergraphic objects in an interactive manner" or simple graphical user interfaceconstruction" with emphasis on visualization, not UI
"a class set which allow You to build applications with new Microsoft interface style .It includes more than 50 of MFC classes"
no cost use
 
 
y
y
 
 
 
 
 

attempts to create a Qt clone witha true Free Software license.  Development is halted. 
a set of integrated foundation libraries for developingC++ applications on UNIX-like systems such as Linux, including C++ wrapper for gtk+.(2.0 only) new developer, now in version 1.0 beta.
ANSI C, native controls, custom contros, abstract layout, only a few functions, Lua Scripting 
a small, "basic self-contained no-frills toolkitto create platform-independent GUI software (in C++)
Written in 
JAVA and C,  provides the JAVA AWT Toolkit to non object oriented Languages like C, Fortran, Pascal, Ada and even Basic
JUCE an all-encompassing C++ class library for developing cross-platform applications
an envolving Motif 1.2 clone. getting close to becomea complete Motif substitution. C API.
a lightweight, non-intrusive, public-domain C++ widget library for writing X11 applications public domain
y

"the Simple X library -- is a lightweight wrapperlibrary sitting on top of the Athena Widget set." C API
Linux Interface Project. still under development, in the beginning stage. development stalled?
Apple s Mac framework, probably the first widely available GUI framework.   No longer supported by Apple but third party development at http://www.clubmacapp.com/
C API. the GUI toolkit is part of a C-like scriptlanguage for quickly building GUIs, although also usable from compiled C. Motif look and feel.
"an object-oriented application framework .... providingreusable objects for 2D graphics, user interface components, 3D graphics,video, audio, and music." based on ET++.
a small windowing system providing Win32 and X11API, targetting embedded systems. C API
" a compact Graphics User Interface (GUI) support system for Linux. MiniGUI defines some Win32-like APIs for the applications. The goal of MiniGUI is keeping its features of small and exquisiteness to provide a small windowing system support library."
The real Motif, the traditional standard Unix X11 toolkit, now moving toward free/open source software.  C API.
NGL is an application framework intended to work with SGIOpenGL* API. NUI is a cross-platform C++ GUI programming framework for OpenGL applications built on top of the NGL 
"a highly portable user interface toolkit with dynamicedition." look and feel and behavior are adjustable/editable at run time
a very rich C++ interactive application API withclasses for X11 windows, images, events, clipboards, inter-application communications, styles for look and feel, layout management and drag anddrop.  Also has classes for Unix system services. Open Look and Motiflook and feel. In alpha  release. No longerdeveloped, work merged into Berlin
a small  graphics     windowing library  built  upon a  fast,    low-level  x86 asm  graphics  kernel. Windows 95 look and feel
a high-level crossplatform application framework and GUI library. It is completely based on the SimpleDirectMedia Layer (SDL). Works on any environment where SDL exists.
"a new Graphical User Interface architecture designed with embedded systems in mind. ... includes low-level graphics and input, widgets, themeing, layout, font rendering, network transparency, and debugging features." Also can be an alternative windowing system (when running on framebuffers) GPL/LGPL

Linux frame buffer, numerous embedded devices (see this list)

a C++ class library and framework for X Window Systemwith OSF/MOTIF look-and-feel. API is similar to the Java AWT API.
a high-quality framework. hasadvanced features not present in other toolkits, such a full 2d graphics API (with rotations, scaling, shearing, etc.), metafile support, same code for screen and printer output. variable look and feel (default:Motif or Win95). at version 4
KDevelop , EBuilderQt Architect ,QtDesigner and QtEZ, UI buildersfor Qt
Qwt, additional GUI components for Qt for scientific appl

(see this link for info on integration withMotif)

SmartWin a small sized, extremely type safe, no overhead what so ever, fully template based C++ GUI library for Windows API (formerly known as Win 32 API). GPL plus additional permissions y (?)
Trixul is an XML and JavaScript GUI toolkit that supports MacOS X, Linux, and Windows environments directly via Cocoa, Gtk+, and .NET native implementations. JavaScript code can call C++ directly. BSD
y (on top ofgtk+)
 
 
y (on top of .Net Forms)
 
 
 
y

Ultimate++ C++ toolkit that "achieves significant reduction of code complexity for most applications when compared to other development platforms"
Common C++ wrapper for many platforms. a good "competitor"of WxWidfgets.native look and feel.  ( gtkv, gtk+ port of V)
part of National Center for Biotechnology Informationsoftware development toolkit, a multi-platform user interface developmentlibrary that automatically handles the behavior of GUI objects, with callbacksto programs
VCF 
Visual Component Framework, "a simple to use cross platform GUI framework, with many of the advanced design features of Java and Javas Swing, and Borlands Visual Component Library.Also provides advanced RTTI/Introspection features common in languages like Object Pascal, Objective C, Smalltalk, and Java, but not typically found in C++" BSD
in development
 
y

 
 
 
in development

The Virtual X Class Library. API strongly linked to the Win32 API. LGPL 
Visual Text Library, a "character cell"-based librarylike text mode but displayed in a X window
"Wafe (Widget[Athena]front end) is a package thatimplements a symbolic, string based interface based on Tcl to the X Toolkit, the Athena Widget Set , Motif and various complementary widget classes and extension packages. " C API.
"general purpose Mac/Win32 C++ application framework. successor to the Mac framework Raven.  
is a modern framework that takes advantage of templates, multiple inheritance, STL, and exceptions. is designed around the notionof Design by Contract and includes numerous debugging tools."
an IDE with an original windowing library and visual window editor and a rich set of development facilities
"a free implementation of Windows (API) on Unix" On Intel x86 PCs only, can be used to port Windows programs to X11
"Windows Interface Reduced Programming is a libraryof c routines for simple, platform independent GUI programming." C API. 
"the X11 layout library." details available in Germanonly  
note another toolkit has the samename
developed in conjuction with thefvwm95window manager. MS-Win 95 look and feel. 
note another toolkit has the samename
a toolkit distributed in binary form only. C API. (fdesign,a UI builder)
"Xmt is a Motif Tools library. The Xmt Motif Tools library provides developers of user interfaces tools that make Motif easier to use. Xmt consists of the core library of additional widgets, utility programs, docs, tutorials, and example code." C API. Supports rapid prototyping, GUI story boarding. 
"Xmt++ is to provide a C++ Model-View-Controller framework implementation based on Xmt. This framework makes it easier to integrate a Motif GUI to an application and maintain design integrity." 
cross-platform, toolkit for Mozilla."An open source SDK for building common cross-platform user interfaces usingexisting cross-platform 
standards (e.g., XML, RDF, HTML, CSS, DOM, JavaScript) and technologies (e.g., Gecko, XPConnect) to minimize 
platform-specific code." May built on top ofgtk+ and Xt for X11
Yet Another Application Framwork,  with fairlycomplete  GUI classes and good cross-platform support
a set of universal cross-platform libraries for creationof the graphical modular applications for any UNIX or Microsoft Windowsplatform. C API
well stablished, cross-platform 
 framework. supports 24 platforms  (including MS DOS and Unix text mode) 
"Zoolib provides a GUI toolkit with a uniquely flexible layout system. It also provides a single-file database format, TCP networking, and extensive debugging support. ZooLib applications are multithreaded. ZooLib requires only minimal support from the underlying OS and platform GUI layer, and thus could be ported to a completely new platform without too much difficulty"
RAPID, Rapid Ada Portable Interface Design tool,. generates Ada code using a platform independent GUI library. (Current implementations utilize the TASHbinding to Tcl/Tk, the GNAT to JVM compiler, the Microsoft .NET framework, or GtkAd) BASIC
Dialog Machine and RAMSES (Research Aids for Modeling and Simulation of Environment Systems) "providesthe basis for highly portable programming of interactive applications,since it makes a minimum of assumptions on the properties of the underlyingoperating system and the hardware", available for MacOS, Atari ST (GEM),PC (GEM, MS Windows, Windows NT) and Unix (SUN and IBM RISC). RAMSES is Mac only. Both no cost freeware.
Tkinter, Tk-based GUI toolkit for Python, part of standard of Python distribution. Tk-based Additions, bindings under Pythin:
(Component Library for Cross-platform) Cross-platform library for Delphi , Kylix and CBuilder - Based on topof Qt, works on Win32 and GNU/Linux (x86) y
y
y

CroPL
a C++ application framework and utility library for single-source Mac/Windows applications
 
 
y
y
 
 
y
y

rich DOS-based business application development environment, orginated from Ashton-Tates Framework product, with FRED. Object-Function-Based, Text-Aware, rapid application development Language
well established, cross-platform framework. commercialproduct with capabilities similar to Interviews
JX a full-featured C++ application framework and widget library (SDK) for use with the X Window System
Apple s Mac framework, probably the first widely available GUI framework.   No longer supported by Apple but third party development at http://www.clubmacapp.com/
commercial version of Interviews, OpenLook or Motif look and feel, switchable on the fly
full-featured, strong international language support, high performance GUI, rich widget set, supported worldwide
Apples application API for developing Mac OS X applicationsworking on different platforms
an advanced, high quality toolkit. free/open source license available..Version 3 released.
An object-oriented modeling and simulation environment for 
developing and deploying scientific and engineering 
applications 
without writing any GUI code. Support Visual C++ and Compaq Visual Fortran.
specialized framework for dynamic graphics for monitoringand control Systems, can integrate with other "native" frameworks
"open framework source for rapid development of opennetwork computing applications" such as touchscreen
really a GUI builder. Unix version includes partial MFCi mplementation on Motif
well established, cross-platform framework. supports24 platforms (including MS DOS and Unix text mode)freely available for  non-embedded use
CLAW,Ada framework  for Windows 95/NT ObjectAda, Ada compiler/development environment, including GUI bindings for Windows,X/Motif
Winteracter, a modern GUI toolset for the Fortran 90/95 programming language, for Windows and Linux
LISP Common Lisp Interface Manager XPCE Pascal (including Delphi) VCL(Visual Component Library), the GUI foundation for Inprise/Borlandspopular RAD tool Delphi, forWin 3.1/95/98/NT, "object-oriented component framework delivers the only truecomponent architecture with over 200 visual and non-visual components thatare completely reusable and extendable"
O2, OO framework for Delphi, including user interface layer Fortran SancsGUI, for Compaq Visual Fortran, An object-oriented modeling and simulation environment for developing and deploying scientific and engineering applications without writing any GUI code. For 32-bit Windows. XPCE, GUI system for Prolog, Lisp and C++. MetaCard, a Hypercard-typescript language with integrated GUI library, for Unix/X11 and MS Win 3.1/95/NT. to top
Fresco (Berlin), an attempt to provide an alternative to X Windows.Also listed as a free GUI toolkit MiniGUI, small windowing system for embedded applications Microwindows (NanoGUI), small windowing system for embedded applications, for DOS, MS Windows, Unix, Linux SVGAlib, Linux kernel framebuffer (MPLed/GPLed) DirectFB,  a thin library that provides hardware graphics acceleration, input device handling and abstraction, integrated windowing system with support for translucent windows and multiple display layers on top of the Linux Framebuffer Device. (LGPLed) PicoGUI Y Widnow System Papers on GUI "GUI Fragmentation is the Greatest Weakness of Unix",  arguing for good GUIstandards for Unix systems in responce to attacks by Microsoft Windows. Drag and Drop protocols XDND,a new drag and drop protocol for X Windows  supported by FoxJxQtand gtk.
Commercial Java Systems Vibe, a complete Java deployment system including tools fromcompiler to custom virtual machine. ( company out of business) Organizations for Free Software
Mono, an effort to create an Open Source implementation of the .NET Development Framework. Includes: a compiler for the C# language, a runtime for the Common Language Infrastructure and a set of class libraries  (GPLed plus exceptions for linking) DotGNU, including Portable.NET, an effort to create an alternative to Microsoft .NET, including C# compiler and run-time libraries. (GPLed plus exceptions for linking)
Library Binding Generation Tool SWIG (Simplified Warpper and Interface Generator), "a program development tooldesigned to make it easy to build scripting language interfaces to C/C++ programs." GUI Toolkit Implementation Utility Libraries
Cario, a LGPLed/MPLed  "vector graphics library designed to provide high-quality display and print output. Currently available output targets include the X Window System, OpenGL (via [WWW]glitz), Quartz, win32, in-memory image buffers, PNG images, PostScript, and PDF files. Some of these backends are still experimental. Cairo is designed to produce identical output on all output media while taking advantage of display hardware acceleration when available (eg. through the X Render Extension or OpenGL)." Possibly the standard 2D graphic API on free OSes.

SDL (SimpleDirectMedia Layer) library, providing direct video framebuffer accessfor fast rendering, supports Linux, Win95/98/NT/2000, BeOS, MacOS, Solaris,IRIX, and FreeBSD. ( LGPLed OpenGL (Sample Implementation), now free software.  OpenInventor , advanced object-oriented 3D graphics framework, now free software. offering a comprehensive solution to interactive graphics programming problems. It presents a programming model based on a 3D scene database that dramatically simplifies graphics programming.  (LGPLed)
SATIN and Quill, Java-based gesture toolkit that allow ink gesture inputs to drive GUIs (BSD licensed)