跨平台GUI工具包-IUP
2020-02-11 14:22:42 阿炯

IUP是一个可移植用户界面的软件开发工具包,它提供了一个可移植的、可编写脚本的工具包,可为编程语言C、Perl、Lua和Nim等来构建图形用户界面。这允许对GUI应用程序可进行快速部署、零编译的原型设计和优化。IUP的目的是允许用户界面可不加修改的方式在不同的系统中运行,尤其是对C与Lua(IUPLua)有相当不错的支持,采用MIT协议授权。


IUP is a multi-platform toolkit for building graphical user interfaces. It offers APIs in three basic languages: C, Lua and LED.Its library contains about 100 functions for creating and manipulating dialogs.

IUP's purpose is to allow a program to run in different systems without changes - the toolkit provides the application portability. Supported systems include: GTK+, Motif and Windows.

它通过将LUA与C/C++代码绑定,或者简单地将C与其API相结合来提供这种能力。它通过使用本机API提供的本地控件来处理用户界面元素,如Windows中的windowsapi、Linux中的GTK+和旧Unices中的Motif LessTif。它还提供了一些使用图形API(如CD-CanvasDraw或OpenGL)定制开发的控件。

特点
ANSI C API,为数不多的支持C语言的工具包之一,
为Windows或Linux提供单一API,
内置支持Lua脚本调用IUP函数(由Lua脚本控制),
移除类/实例对象类型的限制,但保留了继承的原型Lua样式层次结构。
一种抽象的布局模型,其中大小和位置是从水平和垂直容器计算出来的,而不是显式的X和Y坐标。第三种容器类型也支持基于坐标的布局。
微型API,提供了大约100个函数供调用。
使用事件循环回调机制,其主循环可以在Lua内部调用。
接口组件在映射到本机组件之前创建,这与组装式GUI组件的通常方式相反。
可用作各种编译器的源代码或预构建的静态或动态库,包括许多的示例源代码。


从2013年9月发行3.9版开始,在Windows上开始支持UTF-8。

最新版本:3.28


项目主页:
http://webserver2.tecgraf.puc-rio.br/iup/

https://sourceforge.net/projects/iup/