目的:选择一种简化C++ UI库。
开发环境:Windows10 vs2017 c++ x86/x64
imgui地址: https://github.com/ocornut/imgui

imgui库代码目录说明与裁剪:

imgui根目录下的.h和.cpp文件
backend:平台后端相关的代码,删掉不用的,留下glfw、opengl
misc杂项代码
examples示例代码,保留example_glfw_opengl3、libs
docs说明文档

imgui编译时依赖的库

opengl32.lib
glfw3.lib

中文显示问题

1、 从系统拷贝 C:\Windows\Fonts\微软雅黑\msyh.ttc 文件到 当前目录。
2、 在实例代码中搜索 AddFontFromFileTTF 可以找到实例代码中被注释掉的代码。io.Fonts->AddFontFromFileTTF(“msyh.ttc”, 16.0f, nullptr, io.Fonts->GetGlyphRangesChineseFull()); //微软雅黑
3、 调试状态的测试方式:例子程序的Widgets下Basic input text中输入中文。

无显卡驱动问题

GLFW Error #65542 Happen, WGL: The driver does not appear to support OpenGL
参考 https://blog.csdn.net/techfield/article/details/111479210
从 https://fdossena.com/?p=mesa/index.frag 下载对应opengl32.dll与exe放一起。
原理:Mesa3D 通过使用软件渲染来实现 opengl 。

背景知识简述

OpenGL是跨平台图形API接口规范,只有框架没有实现。
DirectX是微软的,不支持跨平台,简化UI暂不考虑。

OpenGL函数库相关的API有核心库(gl),实用库(glu),辅助库(aux)、实用工具库(glut),窗口库(glx、agl、wgl)和扩展函数库等。

GLFW、SDL、FreeGLUT、glut、aux、glad、glew等都是OpenGL的具体实现。

GLFW是OpenGL,OpenGL ES和vutkan开发的开源,多平台库。https://www.glfw.org/
glfw的开发目的是用于替代glut的。它是一个轻量级的,开源的,跨平台的library。
支持OpenGL及OpenGL ES,用来管理窗口,读取输入,处理事件等。
glfw是glut/freegult的升级和改进。glfw是用来显示窗口和捕捉窗口事件的一套API,可以理解成Qt和windows平台的WPF。
Windows Presentation Foundation (WPF)WPF 属于 .NET,创建适用于 Windows 且具有非凡视觉效果的桌面客户端应用程序。

嵌入式Synergy客户端库的实现。

implot库和implot_demos的编译:

(implot_demos未成功,因为访问github不稳定)
implot库、implot_demos都与imgui目录平级存放
需要cmake、cygwin环境(implot_demos只有CMakeLists文件),
cd implot_demos
mkdir build
cd build
cmake … (需要安装git,且能稳定访问github)
cmake --build . --config Release
build文件夹implot_demos.sln文件

低依赖C++ GUI库imgui笔记相关推荐

  1. C++轻量级跨平台桌面GUI库FLTK的简单使用

    C++的跨平台桌面GUI库有很多,大体上分成两种流派:retained mode和immediate mode. 其中前者是主流的桌面GUI机制框架,包括:Qt.wxwidgets.gtk.juce等 ...

  2. 8个免费实用的C++GUI库

    C++标准中并没有包含GUI,这也使得C++开发图形化界面需要依赖于第三方的库.实际上,图形界面恰恰是C++的强项,小到平常使用的各类桌面软件,大到魔兽世界这样的游戏,都是C++擅长的地方.C++之所 ...

  3. 几行代码搞定ML模型,低代码机器学习Python库正式开源

    公众号关注 "视学算法" 设为 "星标",消息即可送达! 机器之心报道 机器之心编辑部 PyCaret 库支持在「低代码」环境中训练和部署有监督以及无监督的机器 ...

  4. python灰色模型代码_几行代码搞定ML模型,低代码机器学习Python库正式开源

    机器之心报道 机器之心编辑部 PyCaret 库支持在「低代码」环境中训练和部署有监督以及无监督的机器学习模型,提升机器学习实验的效率. 想提高机器学习实验的效率,把更多精力放在解决业务问题而不是写代 ...

  5. python低代码_几行代码搞定ML模型,低代码机器学习Python库正式开源

    PyCaret 库支持在「低代码」环境中训练和部署有监督以及无监督的机器学习模型,提升机器学习实验的效率. 想提高机器学习实验的效率,把更多精力放在解决业务问题而不是写代码上?低代码平台或许是个不错的 ...

  6. 代码实现tan graph model for classification_几行代码搞定ML模型,低代码机器学习Python库正式开源...

    PyCaret 库支持在「低代码」环境中训练和部署有监督以及无监督的机器学习模型,提升机器学习实验的效率. 想提高机器学习实验的效率,把更多精力放在解决业务问题而不是写代码上?低代码平台或许是个不错的 ...

  7. python xlwings 切片_Python xlwings库学习笔记(1)

    Python xlwings库学习笔记(1) Python是最近几年很火的编程语言,被办公自动化的宣传吸引入坑,办公自动化必然绕不开Excel的操作,能操作Excel的库有很多,例如: xlrd xl ...

  8. GUI库:PyQt5

    1.PyQt5简介 PyQt是基于QT的Python封装,标准的QT开发使用的是C++语言,开发效率比较低,而使用Python语言进行封装后,开发效率也大大提升.并且还可以进行可视化的开发. PyQt ...

  9. c gui和java gui_C/C++编程GUI库比较

    最强的GUI库当属Qt,毕竟是商业化的东西,功能最完整,什么都好,包括类似java代码风格,良好的框架设计,但有几点值的一提: 1.它没有使用STL,而是自己实现了一套替代方案QTL: 2.事件模型使 ...

最新文章

  1. 关于JVM 内存的 N 个高频面试问题!
  2. 了解一下:机器学习性能优化的6个指标
  3. 在O(1)时间删除链表结点
  4. RANSAC算法注记
  5. LINUX mount -t用法
  6. java单一窗体设计模式,JAVA中设计模式之 -- 单例模式
  7. (06)System Verilog 数组类型示例
  8. [翻译]jQuery 1.5.1 发布,全面支持IE9
  9. 我把SpringBoot的banner换成了美女,老板说工作不饱和,建议安排加班...
  10. asp.net core 支付宝支付( 电脑2.0)
  11. Android自动打包、签名、优化、上传ANT脚本
  12. matlab 取点画图,Matlab plot画图学习---画点以及两点连线
  13. Windows 10 微信双开或多开【PC端】
  14. Ubuntu两种桌面管理器
  15. Mac——技巧:修复 M1 Mac Mini 蓝牙问题
  16. 【整理】嵌入式系统的各种常见外设
  17. Java根据图片生成GIF动图
  18. 从 0 开始搭建 Hexo 博客
  19. java 调用 mahout_(转)Mahout使用入门
  20. Android 获取夜深模拟器中的文件获取不到

热门文章

  1. 草料二维码--在线二维码生成器
  2. [点点搬家]与Perl厮混后感觉嘚儿嘚儿的
  3. c语言实验选择结构程序设计
  4. 第一章 命题逻辑(数理逻辑)
  5. 名帖366 鲜于枢 草书《韩愈石鼓歌》
  6. 能让HR多看两分钟的优秀简历
  7. Photoshop的时间轴是灰色的,不能使的解决方法
  8. Android中日志打印 Log的使用
  9. 密集预测任务的多任务学习综述
  10. scala中deMd5加密