imgui Study

描述

学习游戏引擎看到这个模块,就入门学习了一下。是一个比较轻量级的入门GUI模块。

使用方法

在win下,工程中只需要导入下面的代码:

编写imgui.cmake:

set(imgui_SOURCE_DIR_ ${CMAKE_CURRENT_SOURCE_DIR}/imgui)file(GLOB imgui_sources CONFIGURE_DEPENDS  "${imgui_SOURCE_DIR_}/*.cpp")
file(GLOB imgui_sourcesh CONFIGURE_DEPENDS  "${imgui_SOURCE_DIR_}/*.h")
add_library(imgui STATIC ${imgui_sources} ${imgui_sourcesh})

编写cmakelist:

if(NOT TARGET imgui)include(imgui.cmake)set_target_properties(imgui PROPERTIES FOLDER 3rdparty/imgui)
endif()

然后其他地方可以这个库了。

贴几个例子吧:

static bool open = true;
if (open) {ImGui::Begin("my windows", &open, ImGuiWindowFlags_None);  //新建一个窗口{if (ImGui::Button("button")) {  // 加一个按钮//std::cout << "button" << std::endl;}static int a = 0;ImGui::RadioButton("radioButton", &a, 1);  //单选按钮ImGui::RadioButton("radioButton1", &a, 2);ImGui::RadioButton("radioButton2", &a, 3);//std::cout << a << std::endl;static bool b = true;ImGui::Checkbox("checkbox", &b);  // 多选按钮std::cout << b << std::endl;ImGui::Text("i am text");  //文本ImGui::BulletText("i am text");  // 前面有排版点的文本HelpMarker("this is a HelpMarker");  //问号说明static float c = 0.f;ImGui::SliderFloat3(u8"sliderfloat中文", &c, 0.f1.f);  //滑块static int d = 0;//ImGui::SliderInt("sliderint", &d, 0, 100);}ImGui::End();
}
ImGui::GetForegroundDrawList()->AddLine(ImVec2(500, 200ImVec2(500, 600), IM_COL32(255, 43, 255, 255), 1.5f);  // 画一个线
ImGui::GetForegroundDrawList()->AddText(ImVec2(500, 500IM_COL32(255, 43, 255, 255), u8"中文");  //加文本ImFont* font = io.Fonts->AddFontFromFileTTF("c:\\Windows\\Fonts\\msyh.ttc", 18.0f, NULL, io.Fonts->GetGlyphRangesChineseFull());  //修改字体ImGui::StyleColorsLight(); //修改颜色

imgui Study相关推荐

  1. Oracle Study之--Oracle等待事件(3)

    Oracle Study之--Oracle等待事件(3) Db file parallel read 这是一个很容易引起误导的等待事件,实际上这个等待事件和并行操作(比如并行查询,并行DML)没有关系 ...

  2. 读书笔记2013第10本:《学得少却考得好Learn More Study Less》

    <学得少却考得好Learn More Study Less>这本书最早是从褪墨网站上看到的,crowncheng翻译了全文.这本书介绍了不少学习方法,非常适合在校的学生,原文的作者Scot ...

  3. Case study:在数据库网页中设计数据排序工具

    一.目的 该笔记的目的是引导读者在已搭建的数据库网页的基础上,利用JS设计数据排序工具.其效果如图1所示."Order by"下拉列表框由一系列字段组成,如"Locati ...

  4. Case Study: 利用PHP获取关系型数据库中多张数据表的数据

    一.目标 该笔记的目的是引导读者借助WampServer平台和MySQL数据库,利用HTML/CSS/JS/PHP设计一个多数据表关联的网页.在上一个案例(Case Study: 利用JS实现数据库网 ...

  5. Case Study: 利用JS实现数据库网页的数据分页、数据选择、数据详细信息查看功能

    一.目标 该笔记的目的是引导读者借助WampServer平台和MySQL数据库,利用HTML/CSS/JS/PHP设计一个能够进行实现数据分页显示.数据选择.数据详细信息查看功能的数据库网页.该数据库 ...

  6. Case Study: 利用JS设计高级检索功能通过PHP获取MySQL数据

    一.目标 该笔记的目的是引导读者借助WampServer平台和MySQL数据库,利用HTML/CSS/JS/PHP设计一个含有高级检索功能的数据库网页.该功能效果如图1所示.用户在文本框中输入相应内容 ...

  7. QIIME 2用户文档. 5粪菌移植分析练习Fecal microbiota transplant (FMT) study

    文章目录 前情提要 QIIME 2用户文档. 5粪菌移植分析练习 启动QIIME2运行环境 实验数据下载 序列质控评估 生成特征表和代表性序列 查看去噪过程统计 合并不同批的代表序列和特征表 表1. ...

  8. 二值网络训练--A Empirical Study of Binary Neural Networks' Optimisation

    A Empirical Study of Binary Neural Networks' Optimisation ICLR2019 https://github.com/mi-lad/studyin ...

  9. oracle顺序读等待,Oracle Study之--Oracle等待事件(4)

    Oracle Study之--Oracle等待事件(4) Db file scattered read这个等待事件在实际生产库中经常可以看到,这是一个用户操作引起的等待事件,当用户发出每次I/O需要读 ...

最新文章

  1. 推荐10个能带来快感的实用windows软件,好评如潮!
  2. 常用的 css hack实例
  3. npm install -g -S -D的区别及应用场景
  4. 云原生架构应该怎么设计?
  5. 基于AI的超分辨技术在RTC领域的技术难点与挑战
  6. 这样做,RMAN备份速度可提高6倍!
  7. 从零开始学ios开发(十三):Table Views(下)Grouped and Indexed Sections
  8. ORA-01092解决一例
  9. 未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0” 提供程序解决办法
  10. 泊车——prescan
  11. oracle临时表空间组
  12. win7计算机系统减肥,win7系统精简瘦身的操作方法
  13. m118w重置墨粉_富士施乐 Fuji Xerox DocuPrint M118w 加粉及清零
  14. 448. Find All Numbers Disappeared in an Array
  15. NLP中的主题模型理解
  16. C语言案例教学设计论文,C语言教学设计本科教学论文
  17. Alibaba Code代码索引技术实践:为Code Review提供本地IDE的阅读体验
  18. SpringBoot整合Mybatis出现的错误:At least one base package must be specified
  19. python发送esc_使用win32prin将一行文本发送到Python中的ESC/POS打印机
  20. 【面经专栏】独家整理【C++】面经

热门文章

  1. 【数据结构C语言版】课程实验-图的应用
  2. 网格交易模型 股票网格交易 期货网格交易 策略开发
  3. python图片保存_Python中读取,显示,保存图片的方法
  4. STM32F407ZG定时器
  5. ice java配置_ICE 安装方法
  6. 设计师的AI自学之路:用图像识别玩忍术
  7. L5W3作业2 关键字语音识别
  8. 思维导图的分类 利用思维导图绘制学习知识方法介绍
  9. Python语法之文件操作思维导图
  10. 【论文翻译】联合学习对齐和翻译的神经机器翻译