最近在看 dear imgui ,这个东西没什么文档,所以主要靠看代码和 demo 。但是他注释的很好,所以本来以为能够自己一点点上手。
但是看了两个晚上还是觉得摸不着头脑 -- 比如说 QT 里想要设定 widget 的位置,直接给坐标就行了,想要设置大小也很简单,但是 imgui demo 翻来覆去也没看出来该怎么弄的。我在 demo 原有的代码上进行改动,尝试搞清楚原理,也没有成功。
于是打开 ChatGPT ,问了两个问题之后总算入门了,搞定了上面提到的问题。回头再去看代码,也突然感觉容易了一些。一些莫名其妙的函数也知道是做什么的了。
请问大家一般是怎么学习这种文档少的库的?它这个还不是个能够运行起来的项目,只是一个库。我想了想似乎也没啥特别好的办法,就只有一点点来了吧?
1
daishankeke 2 天前 1
我一般都是直接把源代码 clone 下来,然后直接问我的 copilot chat ,算是跟你差不多的方法
|
2
KeysPAN 1 天前 1
你甚至还有文档看,来看看嵌入式厂商的 SDK ,甚至只给你函数定义,跟功能描述,让你自己猜这个函数怎么调用,FAE 问一句回一句。。。浪费我大把时间
|
3
ChrisFreeMan 1 天前 1
你先想下有没有什么自己需要,但是不是很复杂的 UI 工具想要做的,确定目标后就动手写。把它作为一个完整应用来开发。learn by doing 总是没有错的。
我没有用过 ImGUI 但是据说它有别于其他的 GUI 库或者框架,它类似于一个游戏引擎,所有的绘制都是在 loop 里面, 事件都是发生在每一帧里。 |
4
levelworm OP @daishankeke #1
它这个的确就是一些.h 和.cpp ,量也不大。自带一个几千行的 demo ,其实还算友好。 |
6
jones2000 1 天前 1
学东西,最好先学底层的, 就像 windows UI 中的设置窗口大小, 对应 windows api 就是 MoveWindow , 直接在你用的第 3 方库里搜这个函数,不就知道它是调用哪个函数了。 在退一步说,就算找不到第 3 放库的方法, 直接拿窗口句柄调用 windows api 不就可以了。
|