低依赖C++ GUI库imgui笔记
目的:选择一种简化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笔记相关推荐
- C++轻量级跨平台桌面GUI库FLTK的简单使用
C++的跨平台桌面GUI库有很多,大体上分成两种流派:retained mode和immediate mode. 其中前者是主流的桌面GUI机制框架,包括:Qt.wxwidgets.gtk.juce等 ...
- 8个免费实用的C++GUI库
C++标准中并没有包含GUI,这也使得C++开发图形化界面需要依赖于第三方的库.实际上,图形界面恰恰是C++的强项,小到平常使用的各类桌面软件,大到魔兽世界这样的游戏,都是C++擅长的地方.C++之所 ...
- 几行代码搞定ML模型,低代码机器学习Python库正式开源
公众号关注 "视学算法" 设为 "星标",消息即可送达! 机器之心报道 机器之心编辑部 PyCaret 库支持在「低代码」环境中训练和部署有监督以及无监督的机器 ...
- python灰色模型代码_几行代码搞定ML模型,低代码机器学习Python库正式开源
机器之心报道 机器之心编辑部 PyCaret 库支持在「低代码」环境中训练和部署有监督以及无监督的机器学习模型,提升机器学习实验的效率. 想提高机器学习实验的效率,把更多精力放在解决业务问题而不是写代 ...
- python低代码_几行代码搞定ML模型,低代码机器学习Python库正式开源
PyCaret 库支持在「低代码」环境中训练和部署有监督以及无监督的机器学习模型,提升机器学习实验的效率. 想提高机器学习实验的效率,把更多精力放在解决业务问题而不是写代码上?低代码平台或许是个不错的 ...
- 代码实现tan graph model for classification_几行代码搞定ML模型,低代码机器学习Python库正式开源...
PyCaret 库支持在「低代码」环境中训练和部署有监督以及无监督的机器学习模型,提升机器学习实验的效率. 想提高机器学习实验的效率,把更多精力放在解决业务问题而不是写代码上?低代码平台或许是个不错的 ...
- python xlwings 切片_Python xlwings库学习笔记(1)
Python xlwings库学习笔记(1) Python是最近几年很火的编程语言,被办公自动化的宣传吸引入坑,办公自动化必然绕不开Excel的操作,能操作Excel的库有很多,例如: xlrd xl ...
- GUI库:PyQt5
1.PyQt5简介 PyQt是基于QT的Python封装,标准的QT开发使用的是C++语言,开发效率比较低,而使用Python语言进行封装后,开发效率也大大提升.并且还可以进行可视化的开发. PyQt ...
- c gui和java gui_C/C++编程GUI库比较
最强的GUI库当属Qt,毕竟是商业化的东西,功能最完整,什么都好,包括类似java代码风格,良好的框架设计,但有几点值的一提: 1.它没有使用STL,而是自己实现了一套替代方案QTL: 2.事件模型使 ...
最新文章
- 关于JVM 内存的 N 个高频面试问题!
- 了解一下:机器学习性能优化的6个指标
- 在O(1)时间删除链表结点
- RANSAC算法注记
- LINUX mount -t用法
- java单一窗体设计模式,JAVA中设计模式之 -- 单例模式
- (06)System Verilog 数组类型示例
- [翻译]jQuery 1.5.1 发布,全面支持IE9
- 我把SpringBoot的banner换成了美女,老板说工作不饱和,建议安排加班...
- asp.net core 支付宝支付( 电脑2.0)
- Android自动打包、签名、优化、上传ANT脚本
- matlab 取点画图,Matlab plot画图学习---画点以及两点连线
- Windows 10 微信双开或多开【PC端】
- Ubuntu两种桌面管理器
- Mac——技巧:修复 M1 Mac Mini 蓝牙问题
- 【整理】嵌入式系统的各种常见外设
- Java根据图片生成GIF动图
- 从 0 开始搭建 Hexo 博客
- java 调用 mahout_(转)Mahout使用入门
- Android 获取夜深模拟器中的文件获取不到