部件工具箱
此条目没有列出任何参考或来源。 (2022年9月15日) |
部件工具箱(英语:widget toolkits)亦称为GUI工具箱(英语:GUI toolkits),在程序设计中指的某些基本的GUI的构件元素的集合。他们一般以库或者应用程序框架的形式出现。
成功因素
一套部件工具箱是否有广大的使用人群,与以下几个因素有关:支持的操作系统是否多样,支持的操作系统市场占有率是否大,使用是否方便,是否有良好的“所见即所得”(WYSIWYG)的开发工具支持,是否有经济实力的雄厚的大公司支持等等。
流行的部件工具箱
低级部件工具箱
- 操作系统中集成的:
- 与操作系统分离的:
高级部件工具箱
- Apple Macintosh上:
- Microsoft Windows上:
- Microsoft Foundation Classes(MFC),在微软Windows平台下被广为使用,是Windows API的外包(wrapper),不是一个单独的工具集;
- Object Windows Library,Borland公司推出的MFC替代品,该构架也是Windows API的外包,不是单独的工具集。
- Visual Component Library(VCL):Borland公司的工具集,用于其产品C++ Builder以及Delphi,也是Windows API的一个外包,不是单独的工具集。
- Windows Forms:.NET的库类集,可进行GUI控制。
- 在Unix上,基于X窗口系统:
- Xaw,雅典娜工程中针对X Window System的部件集。
- Motif,用于Common Desktop Environment。
- Lesstif,Motif的开源(LGPL)版本。
- 跨平台,基于SVG:
- 跨平台,基于Java:
- Abstract Windowing Toolkit(AWT),用于Java程序,通常在选定的平台下运行另一个工具集。
- Swing,在Sun Microsystems的新版Java中,作为AWT的替代品。
- Standard Widget Toolkit(SWT),Java的本地部件工具集,是Eclipse项目的一部分。SWT运行相应平台下的部件工具集(如Windows API,或者GTK+)。
- 跨平台,基于C或者C++,也经常与其他编程语言绑定:
- Tk,Tcl以及其他高级脚本语言用到的工具集(在Python中的接口是Tkinter)。
- GTK+,开源软件(LGPL),主要针对X Window System,其他平台下有移植或模拟;GNOME桌面环境中使用。
- Qt,开源软件(LGPL或GPL),可用于Unix/Linux(X Window中)、MS Windows、Mac OS X、Windows CE以及Embedded Linux;在这些平台下,也有商业版本;用于KDE桌面环境。如要使用Qt工具编写而不遵守LGPL,则要购买商业授权。
- CLX(Component Library for Cross-platform,用于跨平台的组件库),用于Borland的Delphi、C++ Builder以及Kylix,以构建跨平台的应用程序。基于Qt,编程接口包装得类似于VCL工具集。
- wxWidgets(以前是wxWindows),开源软件(LGPL),针对C++、Python以及Perl的跨平台工具集。
- FOX toolkit,开源软件(LGPL),跨平台。
- FLTK,开源软件(LGPL),跨平台工具集,特点是小而快。
- Lazarus(Free Pascal的Delphi)的引擎:
- LCL,针对GTK 1.2 and win32(GTK2尚在开发中)的类工具集。
- Amiga OS上:
- BOOPSI(Basic Object Oriented Programming System for Intuition),OS 2.0时引入,增强的Intuition含有一个类系统,其中每个类都可表示一个单独的部件,或描述一个接口事件。这导致一场革新,第三方开发员可以在各自的类系统中加以实现。可以在任何级别,针对Amiga进行面向对象编程。
- MUI(Magical User Interface,神奇用户接口):Amiga的部件类系统。
- ClassAct:Amiga的另一种部件类系统,AmigaOS 3.9时开始发展,4.0是进入GUI反应。
- ReAction:ClassACT系统的进化版。
未分类
参考文献
外部链接
- 各种GUI工具集的比较 (页面存档备份,存于互联网档案馆)
- 工具集纵览 (页面存档备份,存于互联网档案馆)
- X Window System的GUI工具集(Leslie Polzer,freshmeat.net,2003年7月27日)