当前位置: 首页 > news >正文

FLTK - FLTK1.4.1 - 搭建模板,将FLTK自带的实现搬过来做实验

文章目录

    • FLTK - FLTK1.4.1 - 搭建模板,将FLTK自带的实现搬过来做实验
    • 概述
    • 笔记
    • my_fltk_test.cpp
    • fltk_test.h
    • fltk_test.cxx
    • 用adjuster工程试了一下,好使。
    • END

FLTK - FLTK1.4.1 - 搭建模板,将FLTK自带的实现搬过来做实验

概述

用fluid搭建UI, 然后将生成的代码搬到自己工程中,这是普通流程。

但是如果想过一遍fltk自带的demo工程,而且fltk自带的demo大部分是不带fl的,如果想自己根据demo实现再重新搭fl文件,有点本末导致。
且已经知道了fluid的操作流程,放置的控件都是啥效果,控件参数的调整基本一致,具体再试验了,只是时间问题。真没必要脱裤子放屁。
且fltk自带的demo工程是一组依赖cmake编译的工程,已经试过了,如果改一点,将VS2019关掉时,会关不掉。

想再搭一个工程模板,将fltk的demo粘贴过来,稍微改一下调用点,就可以直接做实验。

笔记

在这里插入图片描述

my_fltk_test.cpp

//! @file my_fltk_test.cpp
//! @biref fltk试验模板,可以将fltk自带的demo实现粘贴过来用#include "framework.h"
#include "my_fltk_test.h"
#include "fltk_test.h"// error LNK2019: 无法解析的外部符号 GdiplusStartup
#pragma comment(lib, "GdiPlus.lib")// error LNK2019: 无法解析的外部符号 __WSAFDIsSet
#pragma comment(lib,"ws2_32.lib")// error LNK2019: 无法解析的外部符号 __imp__TrackMouseEvent
#pragma  comment(lib,"Comctl32.lib")#ifdef _DEBUG
#pragma comment(lib, "fltk_formsd.lib")
#pragma comment(lib, "fltk_gld.lib")
#pragma comment(lib, "fltk_imagesd.lib")
#pragma comment(lib, "fltk_jpegd.lib")
#pragma comment(lib, "fltk_pngd.lib")
#pragma comment(lib, "fltk_zd.lib")
#pragma comment(lib, "fltkd.lib")
#else
// @todo add release lib
#endifint APIENTRY wWinMain(_In_ HINSTANCE hInstance,_In_opt_ HINSTANCE hPrevInstance,_In_ LPWSTR    lpCmdLine,_In_ int       nCmdShow)
{UNREFERENCED_PARAMETER(hPrevInstance);UNREFERENCED_PARAMETER(lpCmdLine);const char* app_title = "fltk test app";return fl_demo_main(1, (char**)&app_title);// return 0;
}

fltk_test.h

//! @file fltk_test.h#ifndef _FLTK_TEST_H_int fl_demo_main(int argc, char** argv);#endif // !_FLTK_TEST_H_

fltk_test.cxx


#include "fltk_test.h"// 如果要将fl demo的实现搬过来测试,就注释掉下面的宏
#define DONT_USE_FL_DEMO#ifdef DONT_USE_FL_DEMO
int fl_demo_main(int argc, char** argv)
{return 0;
}#else#endif // TEST_FL_DEMO// 将fltk的单文件实现都贴在这里
// 将main() 改名为 fl_demo_main()

用adjuster工程试了一下,好使。

在此模板工程,针对fltk自带的不同demo工程,需要改动的只是 fltk_test.cxx


#include "fltk_test.h"// 如果要将fl demo的实现搬过来测试,就注释掉下面的宏
// #define DONT_USE_FL_DEMO#ifdef DONT_USE_FL_DEMO
int fl_demo_main(int argc, char** argv)
{return 0;
}#else#endif // TEST_FL_DEMO//
// Adjuster test program for the Fast Light Tool Kit (FLTK).
//
// Copyright 1998-2010 by Bill Spitzak and others.
//
// This library is free software. Distribution and use rights are outlined in
// the file "COPYING" which should have been included with this file.  If this
// file is missing or damaged, see the license at:
//
//     https://www.fltk.org/COPYING.php
//
// Please see the following page on how to report bugs and issues:
//
//     https://www.fltk.org/bugs.php
//#include <stdlib.h>
#include <FL/Fl.H>
#include <FL/Fl_Double_Window.H>
#include <FL/Fl_Adjuster.H>
#include <FL/Fl_Box.H>void adjcb(Fl_Widget* o, void* v) {Fl_Adjuster* a = (Fl_Adjuster*)o;Fl_Box* b = (Fl_Box*)v;a->format((char*)(b->label()));b->redraw();
}int fl_demo_main(int argc, char** argv) {Fl_Double_Window window(320, 100, argv[0]);char buf1[100];Fl_Box b1(FL_DOWN_BOX, 20, 30, 80, 25, buf1);b1.color(FL_WHITE);Fl_Adjuster a1(20 + 80, 30, 3 * 25, 25);a1.callback(adjcb, &b1);adjcb(&a1, &b1);char buf2[100];Fl_Box b2(FL_DOWN_BOX, 20 + 80 + 4 * 25, 30, 80, 25, buf2);b2.color(FL_WHITE);Fl_Adjuster a2(b2.x() + b2.w(), 10, 25, 3 * 25);a2.callback(adjcb, &b2);adjcb(&a2, &b2);window.resizable(window);window.end();window.show(argc, argv);return Fl::run();
}

在这里插入图片描述

END

相关文章:

FLTK - FLTK1.4.1 - 搭建模板,将FLTK自带的实现搬过来做实验

文章目录 FLTK - FLTK1.4.1 - 搭建模板&#xff0c;将FLTK自带的实现搬过来做实验概述笔记my_fltk_test.cppfltk_test.hfltk_test.cxx用adjuster工程试了一下&#xff0c;好使。END FLTK - FLTK1.4.1 - 搭建模板&#xff0c;将FLTK自带的实现搬过来做实验 概述 用fluid搭建UI…...

《多阶段渐进式图像修复》学习笔记

paper&#xff1a;2102.02808 GitHub&#xff1a;swz30/MPRNet: [CVPR 2021] Multi-Stage Progressive Image Restoration. SOTA results for Image deblurring, deraining, and denoising. 目录 摘要 1、介绍 2、相关工作 2.1 单阶段方法 2.2 多阶段方法 2.3 注意力机…...

AWScurl笔记

摘要 AWScurl是一款专为与AWS服务交互设计的命令行工具&#xff0c;它模拟了curl的功能并添加了AWS签名版本4的支持。这一特性使得用户能够安全有效地执行带有AWS签名的请求&#xff0c;极大地提升了与AWS服务交互时的安全性和有效性。 GitHub - okigan/awscurl: curl-like acc…...

QT使用eigen

QT使用eigen 1. 下载eigen https://eigen.tuxfamily.org/index.php?titleMain_Page#Download 下载后解压 2. QT引入eigen eigen源码好像只有头文件&#xff0c;因此只需要引入头文件就好了 qt新建项目后。修改pro文件. INCLUDEPATH E:\222078\qt\eigen-3.4.0\eigen-3.…...

揭示Baklib企业内容管理系统CMS的核心功能与应用价值

内容概要 企业内容管理系统&#xff08;CMS&#xff09;是指通过一系列工具和技术&#xff0c;帮助企业高效地创建、存储、管理和分发数字内容的系统。这些系统在现代企业运作中发挥着至关重要的作用&#xff0c;尤其是在信息量大、业务流程复杂的环境中。Baklib作为一个突出的…...

如何跨互联网adb连接到远程手机-蓝牙电话集中维护

如何跨互联网adb连接到远程手机-蓝牙电话集中维护 --ADB连接专题 一、前言 随便找一个手机&#xff0c;安装一个App并简单设置一下&#xff0c;就可以跨互联网的ADB连接到这个手机&#xff0c;从而远程操控这个手机做各种操作。你敢相信吗&#xff1f;而这正是本篇想要描述的…...

flume和kafka整合 flume和kafka为什么一起用?

‌Flume和Kafka一起使用的主要原因是为了实现高效、可靠的数据采集和实时处理。‌‌12 实时流式日志处理的需求 Flume和Kafka结合使用的主要目的是为了完成实时流式的日志处理。Flume负责数据的采集和传输,而Kafka则作为消息缓存队列,能够有效地缓冲数据,防止数据堆积或丢…...

java.util.Random类(详细案例拆解)(已完结)

前言&#xff1a; 小编打算近期更俩三期类的专栏&#xff0c;一些常用的专集类&#xff0c;给大家分好类别总结和详细的代码举例解释。 今天是除夕&#xff0c;小编先祝贺大家除夕快乐啦&#xff01;&#xff01; 今天是第六个 java.lang.Math 包中的 java.util.Random类 我…...

Java后端之AOP

AOP&#xff1a;面向切面编程&#xff0c;本质是面向特定方法编程 引入依赖&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId></dependency>示例&#xff1a;记录…...

【信息系统项目管理师-选择真题】2008上半年综合知识答案和详解

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 【第1题】【第2题】【第3题】【第4题】【第5题】【第6题】【第7~8题】【第9题】【第10题】【第11题】【第12题】【第13题】【第14题】【第15题】【第16~20题】【第21题】【第22题】【第23题】【第24题】【第25题…...

go到底是什么意思:对go的猜测或断言

go这个单词&#xff0c;简单地讲&#xff0c;表示“走或去”的意思&#xff1a; go v.去&#xff1b;走 认真想想&#xff0c;go是一个非常神秘的单词&#xff0c;g-和o-这两个字母&#xff0c;为什么就会表达“去&#xff1b;走”的意思呢&#xff1f;它的字面义或本质&…...

零刻SER7接口及配置跑分

今天入手了一台迷你机-零刻SER7 &#xff0c;不得不说这机身是真的小啊&#xff0c;相比于传统台式机&#xff0c;它几乎不占空间&#xff0c;可以轻松放置在桌面、电视柜甚至背包中&#xff0c;非常适合需要频繁移动或空间有限的用户。尽管体积小巧&#xff0c;但零刻SER7在性…...

【Java基础-41.5】深入解析Java异常链:构建清晰的错误追踪体系

在Java编程中&#xff0c;异常处理是保证程序健壮性和可维护性的重要部分。然而&#xff0c;在实际开发中&#xff0c;异常往往不是孤立发生的&#xff0c;而是由一系列相关的异常引发的。为了更好地理解和处理这种复杂的异常场景&#xff0c;Java引入了 异常链&#xff08;Exc…...

【Python实现机器遗忘算法】复现2023年TNNLS期刊算法UNSIR

【Python实现机器遗忘算法】复现2023年TNNLS期刊算法UNSIR 1 算法原理 Tarun A K, Chundawat V S, Mandal M, et al. Fast yet effective machine unlearning[J]. IEEE Transactions on Neural Networks and Learning Systems, 2023. 本文提出了一种名为 UNSIR&#xff08;Un…...

Object类(3)

大家好&#xff0c;今天继续给大家介绍一下object类中的方法&#xff0c;那么话不多说&#xff0c;来看。 hashcode()这个方法,帮我们算了一个具体的对象位置,这里面涉及到数据结构,简单认为它是个内存地址,然后调用Integer.toHexString ()将这个地址以16进制输出。 该方法是一…...

Zookeeper(32) Zookeeper的版本号(version)是什么?

在 Zookeeper 中&#xff0c;每个节点都有多个版本号&#xff08;version&#xff09;&#xff0c;用于跟踪节点的状态变化。版本号帮助 Zookeeper 实现乐观并发控制&#xff0c;确保在并发环境中的数据一致性。主要的版本号包括&#xff1a; version&#xff1a;数据版本号&a…...

C# as 和 is 运算符区别和用法

前言 在C#中&#xff0c;as 和 is 关键字都用于处理类型转换的运算符&#xff0c;但它们有不同的用途和行为。本文我们将详细解释这两个运算符的区别和用法。 is 运算符 is 运算符用于检查对象是否是某个特定类型&#xff0c;或者是否可以转换为该类型。它返回一个布尔值 (t…...

求解旅行商问题的三种精确性建模方法,性能差距巨大

文章目录 旅行商问题介绍三种模型对比求解模型1决策变量目标函数约束条件Python代码 求解模型2决策变量目标函数约束条件Python代码 求解模型3决策变量目标函数约束条件Python代码 三个模型的优势与不足 旅行商问题介绍 旅行商问题 (Traveling Salesman Problem, TSP) 是一个经…...

SQL-leetcode—1193. 每月交易 I

1193. 每月交易 I 表&#xff1a;Transactions ---------------------- | Column Name | Type | ---------------------- | id | int | | country | varchar | | state | enum | | amount | int | | trans_date | date | ---------------------- id 是这个表的主键。 该表包含…...

【MySQL — 数据库增删改查操作】深入解析MySQL的 Retrieve 检索操作

Retrieve 检索 示例 1. 构造数据 创建表结构 create table exam1(id bigint, name varchar(20) comment同学姓名, Chinesedecimal(3,1) comment 语文成绩, Math decimal(3,1) comment 数学成绩, English decimal(3,1) comment 英语成绩 ); 插入测试数据 insert into ex…...

项目开发实践——基于SpringBoot+Vue3实现的在线考试系统(九)(完结篇)

文章目录 一、成绩查询模块实现1、学生成绩查询功能实现1.1 页面设计1.2 前端页面实现1.3 后端功能实现2、成绩分段查询功能实现2.1 页面设计2.2 前端页面实现2.3 后端功能实现二、试卷练习模块实现三、我的分数模块实现1、 页面设计2、 前端页面实现3、 后端功能实现四、交流区…...

离散 VS 流程制造,制造业的 “双生花” 如何绽放

在制造业中&#xff0c;我们常看到两种不同生产景象&#xff1a;有的企业生产一气呵成&#xff0c;有的则由众多环节组合。 这源于离散制造和流程制造两种常见生产模式。它们在生产管理上特点与区别明显。 下面&#xff0c;我们从概念、特点、企业生产管理方式&#xff0c;以…...

freeswtch目录下modules.conf各个模块的介绍【freeswitch版本1.6.8】

应用模块&#xff08;applications&#xff09; mod_abstraction&#xff1a; 为其他模块提供抽象层&#xff0c;有助于简化模块开发&#xff0c;让开发者能在统一框架下开发新功能&#xff0c;减少与底层系统的直接交互&#xff0c;提高代码可移植性和可维护性。 mod_av&#…...

循序渐进kubernetes-RBAC(Role-Based Access Control)

文章目录 概要Kubernetes API了解 Kubernetes 中的 RBACRoles and Role Bindings:ClusterRoles and ClusterRoleBindings检查访问权限&#xff1a;外部用户结论 概要 Kubernetes 是容器化应用的强大引擎&#xff0c;但仅仅关注部署和扩展远远不够&#xff0c;集群的安全同样至…...

第3章 基于三电平空间矢量的中点电位平衡策略

0 前言 在NPC型三电平逆变器的直流侧串联有两组参数规格完全一致的电解电容,由于三电平特殊的中点钳位结构,在进行SVPWM控制时,在一个完整开关周期内,直流侧电容C1、C2充放电不均匀,各自存储的总电荷不同,电容电压便不均等,存在一定的偏差。在不进行控制的情况下,系统无…...

基于SpringBoot的阳光幼儿园管理系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…...

Python 数据分析 - Matplotlib 绘图

Python 数据分析 - Matplotlib 绘图 简介绘图折线图单线多线子图 散点图直方图条形图纵置横置多条 饼图 简介 Matplotlib 是 Python 提供的一个绘图库&#xff0c;通过该库我们可以很容易的绘制出折线图、直方图、散点图、饼图等丰富的统计图&#xff0c;安装使用 pip install…...

uniapp版本升级

1.样式 登录进到首页&#xff0c;弹出更新提示框&#xff0c;且不可以关闭&#xff0c;侧边返回直接退出&#xff01; 有关代码&#xff1a; <uv-popup ref"popupUpdate" round"8" :close-on-click-overlay"false"><view style"…...

Django ORM解决Oracle表多主键的问题

现状 以Django 3.2为例 Django ORM 设计为默认使用单一主键&#xff08;通常是自增的 id 字段&#xff09;&#xff0c;这一选择主要基于以下核心原因&#xff1a; 简化ORM设计与操作 统一访问方式外键关联简化 避免歧义冲突 主键语义明确防止隐式依赖 性能与数据库兼容 索引…...

机器学习2 (笔记)(朴素贝叶斯,集成学习,KNN和matlab运用)

朴素贝叶斯模型 贝叶斯定理&#xff1a; 常见类型 算法流程 优缺点 集成学习算法 基本原理 常见方法 KNN&#xff08;聚类模型&#xff09; 算法性质&#xff1a; 核心原理&#xff1a; 算法流程 优缺点 matlab中的运用 朴素贝叶斯模型 朴素贝叶斯模型是基于贝叶斯…...