c语言fltk图形库,FLTK编程模型

本文介绍了Fast Light Tool Kit (FLTK) —— 一个轻量级、快速且跨平台的GUI工具包。FLTK支持多种操作系统,并以其小巧、速度快和良好的移植性著称。文章讲解了FLTK的基本特性,如丰富的GUI构件、OpenGL支持、界面设计工具FLUID以及跨平台移植性。此外,还展示了如何在C++中使用FLTK进行基本编程,包括创建窗口、设置回调函数以及处理按钮事件等。
摘要由CSDN通过智能技术生成

2003 年 5 月 10 日

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编程的一些基本方法进行介绍。

1. 提供丰富的跨平台的GUI构件(Widget)。有按钮,菜单,窗口等,近六十个。

2. 支持OpenGL,提供Fl_GL_Window,支持OpenGL相关的操作。

3. 提供界面设计工具FLUID,非常方便进行界面的设计。

4. 良好的跨平台移植性。

5. 支持多种C++编译器,Gcc,BC,VC等等。

6. 灵活性。FLTK本身可以定制,以满足不同的需要。这使得FLTK在嵌入式开发上有着极大的竞争力,这正是我要推荐使用FLTK的原因。

本文就FLTK编程的一些基本方法进行介绍。

869139_8.gif

869139_1.gif

安装FLTK很简单,我们只需要下载它的源文件,解压缩到目录下,在Linux下我们只需要输入make,编译完成然后make install就头文件安装到/usr/include/FL目录下。库文件就在/usr/lib下,也可以自己编译之后把这些文件复制到这些目录,或者不需要复制,只在编译连接的时候指定路径。

在window下可以使用VC,BC打开相应目录下的工程文件编译即可。

869139_8.gif

869139_1.gif

FLTK作为GUI开发包,包含了常用的图形用户接口需要的一些构件,视觉表现非常丰富,如下两图所示:

869139_16.jpg

869139_17.jpg

常用按钮构件

按钮名称

头文件

按钮名称

头文件

Fl_Button

Fl_Button.H

Fl_Check_Button

Fl_Check_Button.H

Fl_Light_Button

Fl_Light_Button.H

Fl_Repeat_Button

Fl_Repeat_Button.H

Fl_Return_Button

Fl_Return_Button.H

Fl_Round_Button

Fl_Round_Button.H

对于具有Fl_Check_Button、Fl_Loght_Button和Fl_Round_Button当状态为off时value() =0 ,On时value()返回1。

处理按钮时间可以使用回调(callback)函数,参见后面的事件处理。

文本处理构件

构件名称

头文件

构件名称

头文件

Fl_Input

Fl_Input.H

Fl_Output

Fl_Output.H

Fl_Multiline_Input

Fl_Multiline_Input.H

Fl_Multiline_output

Fl_Multiline_output.H

设置和取得文本内容使用value();

如:

(new Fl_Input(x,y,width,height,"Label"))->value("Hello World!");

其他构件

参见FLTK.org的 文档说明。

这些构件是使用C++开发的,具有完善的继承关系,下面是构件继承关系图

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值