FLTK(Fast Light Toolkit)是一个跨平台的C++GUI工具集,用在UNIX/Linux(X11)、微软Windows和Mac OS X上。FLTK提供现代的GUI功能,除却膨胀,通过OpenGL和内建的GLUT模拟器提供3D图形支持。最初由Bill Spitzak开发,当前由全世界一小组开发者使用美国一个中心仓库维护。
FLTK具有
体积小、速度快和良好移植性等优点
。
FLTK当前的稳定版(1.3.5)采用
LGPL
发布,意味着可以通过
类库引用
的方式(前提是不对FLTK本身代码进行修改)用于
任何用途
(包括商业用途)。
FLTK的官网是
https://www.fltk.org/
,里面可以下载到源代码和教程,
这里
也有一份PDF版FLTK 1.3.5版教程(英文)。
在Linux下,一般可以通过对应Linux版本的包管理器安装,例如在Manjaro下可以通过下列命令来安装:
sudo pacman -S fltk
在其余系统中安装可以按照文档说明进行。
以下是一个FLTK的官方示例(保存为a.cpp):
#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Box.H>
int main(int argc, char **argv) {
Fl_Window *window = new Fl_Window(340,180);
Fl_Box *box = new Fl_Box(20,40,300,100,"Hello, World!");
box->box(FL_UP_BOX);
box->labelfont(FL_BOLD+FL_ITALIC);
box->labelsize(36);
box->labeltype(FL_SHADOW_LABEL);
window->end();
window->show(argc, argv);
return Fl::run();
用以下命令进行编译并运行(这里用GCC编译):
g++ a.cpp -o a -lfltk;./a
此时应该可以看到以下画面:
相关链接
专栏:FLTK
FLTKFLTK(Fast Light Toolkit)是一个跨平台的C++GUI工具集,用在UNIX/Linux(X11)、微软Windows和Mac OS X上。FLTK提供现代的GUI功能,除却膨胀,通过OpenGL和内建的GLUT模拟器提供3D图形支持。最初由Bill Spitzak开发,当前由全世界一小组开发者使用美国一个中心仓库维护。FLTK具有体积小、速度快和良好移植性等优点。FLTK当前的稳定版(1.3.5)采用LGPL发布,意味着可以通过类库引用的方式(前提是不对FLTK本身代码进行
下载与解压
进入FLTK官网-Download下载最新版本。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZT8zvOv9-1636864799781)(img\官网下载页面.png)]
解压到D:\Program Files\fltk(解压路径任意都行),推荐使用Bandzip免费解压工具。
c++有许多gui开发工具,比如MFC,QT,而FLTK(Fast Light ToolKit),读音fulltik,则是一个轻量级的,简洁的gui开发库。
fltk是跨平台的轻量级c++图形工具包。
#include<FL/Fl.H>
#include<FL/Fl_Window.H>
#include<FL/Fl_Box.H>
示例程序:
int main(int argc, char **argv)
Fl_Window *window = n...
FLTK(Fast Light Tool Kit 发音为fulltick) 是一种使用C++开发的GUI工具包, 它可以应用于
Unix,Linux,MS-Windows95/98/NT/2000和MacOS操作系统平台, 相对于其它的许多图形接口
开发工具包(如MFC、 GTK、 QT等) , 它具有体积很小、 速度比较快, 且有着更好的移植
性。 FLTK(Fast Light Tool Kit 发音为fulltick) 是一种使用C++开发的GUI工具包, 它可以应用
于Unix, Linux, MS-Windows95/98/NT/2000和MacOS操作系统平台, 相对于其它的许多图
形接口开发工具包(如MFC、 GTK、 QT等) , 它具有体积很小、 速度比较快, 且有着更好的
移植性。 本文就FLTK编程的一些基本方法进行介绍。
单头ANSI C即时模式跨平台GUI库Nuklear这是用ANSI C编写并在公共领域获得许可的最小状态即时模式图形用户界面工具包。
它被设计为应用程序的简单可嵌入用户界面,没有任何依赖关系,没有默认的渲染后端或OS窗口/输入处理,而是提供了一种高度模块化的基于库的方法,具有用于输入和绘制命令的简单输入状态,描述了原始形状作为输出。
因此,与其提供一个分层库来尝试