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

article/2025/9/1 13:29:33

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++开发的,具有完善的继承关系,下面是构件继承关系图


http://chatgpt.dhexx.cn/article/PceZON0v.shtml

相关文章

FLTK-Rs

终于还是到这一步了,可视化,我的超人! FLTK是一个跨平台的轻量级 gui 库。该库本身是用 C98 编写的,具有很高的可移植性。fltk crate 是用 Rust 编写的,并使用 FFI 调用 FLTK 包装器cfltk,它是用 C89 和 C…

Visual Studio 安装 FLTK

Visual Studio 安装 FLTK 环境介绍 Windows 10Visual Studio Community 2019 (2021-11-29补充2022版)FLTK-1.3.7 下载与解压 ​ 进入FLTK官网-Download下载最新版本。 ​ 解压到D:\Program Files\fltk(解压路径任意都行),推荐使用Bandzip免费解压工具。 编译 …

FLTK--轻量级C++跨平台GUI库

FLTK FLTK(Fast Light Toolkit)是一个跨平台的CGUI工具集,用在UNIX/Linux(X11)、微软Windows和Mac OS X上。FLTK提供现代的GUI功能,除却膨胀,通过OpenGL和内建的GLUT模拟器提供3D图形支持。最初…

浅谈如何fltk项目编译和实现显示中文

目录 一、编译 二、中文显示如何处理: 2.1在发文2天前突然发现,我这个界面显示英文出现问题了,开始我的搜索之旅,一些参考页面有碰到问题也可以看看: 2.2、 那就开始翻翻官方自带的例程吧,看看他如何显…

FLTK 学习一:简介和安装

文章目录 FLTK 简介FLTK 安装FLTK Windows安装FLTK Linux 安装 FLTK 简单示例参考资料 FLTK 简介 从网上引用的一段 FLTK 的介绍 FLTK (Fast Light Tool Kit 发音为fulltick) 是一种使用 C 开发的 GUI 工具包,它可以应用于 Unix, Linux, MS-Windows95/98/NT/2000 和…

安装使用FLTK图形库

FLTK是Fast Light Toolkit的简称,是一个跨平台的C GUI包,FLTK提供xiandai GUI功能,而且通过OpenGL支持3D图像。 下载FLTK安转包fltk-1.3.4-1-source.tar.gz: http://www.fltk.org/software.php?VERSION1.3.4&FILEfltk/1.3.…

BOBCAT: 基于双层优化的计算机化自适应测验(超硬核解读论文+阅读论文技巧)

文章目录 前言AbstractIntroductionCAT 介绍传统的认知诊断模型传统的CAT选题策略传统方法局限性 ContributionsBOBCAT框架双层优化问题BOBCAT框架BOBCAT 训练过程 OptimizationExperiments能力评估问题暴露和内容重叠问题选择 Conclusions 前言 大家好,我是小曾&a…

项目管理理论与实践(3)——如何进行有效的项目管理

对于具有成功并有效的项目管理经验的项目经理,还是非常难得的。因为项目管理并不是一件很简单的事情。虽然自己对于项目管理的理解还是处于初级阶段,但是利用自己学习到的理论知识,还是想做一次归纳,希望对大家能够受用。那么就开…

计算机自适应考试技巧,计算机自适应题库实现

在软件的开发中,基于题库的计算机自适应考试已成为一个重要的发展方向,而计算机自适应题库的建立就显得尤为重要。计算机自适应测验(Computerized Adaptive Testing,简称CAT)是近年来发展起来的一种新的测验形式。这种测验以项目反应理论为基础,以计算机技术为手段,在题库…

项目经理都会面临什么问题?

最近手里一个项目接近尾声,还有一个项目正在初期调研,无缝衔接,原定结项之后的3天假期也泡汤了,每一个环节都出问题我真的会心累,再加上最近组里人事变动,也没有及时做好复盘,客户又出现了临时需…

反应-扩散方程(Reaction-diffusion system)

文章目录 1. 单组分反应-扩散方程2. 双组分反应-扩散方程3. 三组分和更多组分的反应-扩散方程4. Fishers equation4.1 KPP方程 5. Belousov–Zhabotinsky reaction5.1 历史5.2 化学机理5.2.1 变体 5.3 Noise-induced order5.3.1 数学背景 6. Briggs–Rauscher reaction7. ZFK e…

项目延期的因素有哪些?项目经理应该如何应对

项目延期是项目管理中常见的问题之一,也是管理者最头疼的问题。项目延期的出现可能是由于以下原因: 1、工作中突发事件多:在评估工作量时,通常会基于过往的经验来进行评估,但由于信息社会中各种信息随处可见&#xf…

项目管理中影响项目进度的原因及解决方法

项目管理中对工期的控制主要是进度控制,在项目进行过程中,由于项目时间跨度长,人员繁杂,如果管理不规范,就容易导致项目进度滞后,如何管理好施工进度是管理者需要解决的问题之一。 1、项目计划缺乏执行力…

图解PMP项目管理马斯洛需求层次理论在公司管理中的应用!

马斯洛的需求层次结构是心理学中的激励理论,包括人类需求的五级模型,通常被描绘成金字塔内的等级。 从层次结构的底部向上,需求分别为:生理(食物和衣服),安全(工作保障)…

php 项目反应理论,科学网—好文 | 纽约石溪大学:机器学习中基于项目反应理论的集成学习 - 陈培颖的博文...

机器学习中,研究者们对分类集成的关注与日俱增,尤其关注分类精度的提升。IJAC近期发表了来自纽约石溪大学研究者的最新成果,该研究基于项目反应理论,提出一种加权投票方法---基于IRT理论的集成学习算法,该方法可正确处…

项目反应理论 EM估计

项目反应理论参数的EM估计 写在前面: 本文主要描述了整个IRT使用EM算法参数的估计过程,其中涉及大量公式,如只是需要了解IRT相关基础知识,请转战wiki~~ 预警: 大量公式来袭~&#…

项目反应理论

项目反应理论(item response theory)是属于心理学中认知诊断常用的一种理论,即根据被测试者针对某个问题的答案来对被测者的认知状况进行估计。“项目”实质就是测试题,“反应”就是被测者的答案。也有学者称项目反应理论也是机器学习中的一个类别,即根据被测者对测试题的…

密码校验密码正则校验,密码表单校验总结

一.前言,日常开发中,表单校验是出现率非常高的一个需求,特别是密码校验。本文就针对常见的几种密码校验(含正则)做个总结,做个共享。 二. 密码必须包含数字,字母和特殊符号。 写法:…

正则表达式-几种常见的密码校验

原文:https://jingyan.baidu.com/article/5bbb5a1b634cca53eba179ce.html 首先说一下密码必须是6~18位之间的数字,正则表达式为"^[0-9]{6,18}$",其中[0-9]表示必须是数字,{6,18}表示必须在6到18位之间,代码如…

【算法】程序猿必备算法

文章目录 快速排序算法堆排序算法归并排序二分查找算法BFPRT(线性查找算法)DFS(深度优先搜索)BFS(广度优先搜索)Dijkstra算法动态规划算法朴素贝叶斯分类算法Floyd Warshall算法贝尔曼福特算法贪心算法拓扑排序最小生成树分治算法KMP暴力匹配更多来源 快…