【 声明:版权全部,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
非常早之前就知道ftk了,当时主要是由于买了李先静的书,所以知道了这么一个项目。由于对这样的gui的代码非常感兴趣。所以在我闲暇的时候也会拿来看一看。从整个project来看,代码非常工整。平台移植也方便。所以有兴趣的同学能够看一看。
一般对于一个开源项目。要深入地參与当中都要经历几个过程,这各自是使用、阅读、改动、重构。
大多数公司里面也会使用到开源项目,可是往往停留在使用的阶段。
所以。假设希望有深入了解的朋友还是须要自己腾出时间来好好研究一番才行。
网上下载ftk的地方非常多,大家能够从code.google.com上面查找下载就可以。对于ftk。大家能够理解成一个lib程序库,假设要想非常好地使用它,那么一方面须要对底层的驱动进行移植。还有一方面须要适配到各个os平台、compiler工具等等。没有关系,作者已经帮我们弄好了,我们能够建立一个仿真平台就能够了。
今天,我们不打算从编译、调试的角度来看ftk,而是从一个最简单的使用者来看怎么调用ftk。恰巧。作者也给我们提供了很多的demo代码。我们的学习最好还是就从这些demo代码開始。学习新的编程语言。大家都是从hello world開始。我们最好还是也从hello world開始ftk的学习。
由于ftk的版本号非常多,所以本章以及后面全部的文章都是依照ftk 0.4版本号作为參考使用的。
首先。须要编译ftk,
./autogen.sh ./configure --with-backend=linux-x11:320*480 --with-fontengine=freetype make clean make
再编写自己的代码,
#include "ftk.h" int main(int argc, char* argv[]) { FtkWidget* win = NULL; ftk_init(argc, argv); win = ftk_app_window_create(); ftk_widget_set_text(win, "Hello FTK!"); ftk_widget_show(win, 1); ftk_widget_set_attr(win, FTK_ATTR_QUIT_WHEN_CLOSE); ftk_run(); return 0; }
这恐怕是demo中最简单的代码了。整个文件也不足20行。
关于系统的代码。事实上就两行。一行是ftk_init。另外一行是ftk_run。其它的内容都是自己编写的。整个流程非常easy。创建一个win,设置win的属性,開始while(1)执行ftk。
是不是非常easy?
假设大家有兴趣,能够好好理解一下这段代码。想看一下代码执行效果的同学,敬请期待下一篇文章。