【 声明:版权全部,欢迎转载,请勿用于商业用途。  联系信箱: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?

假设大家有兴趣,能够好好理解一下这段代码。想看一下代码执行效果的同学,敬请期待下一篇文章。

ftk学习记(首篇)的更多相关文章

  1. ftk学习记(消息框篇)

    [ 声明:版权全部,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 上一篇说到了输入框.闲话不多说,首先看结果显示, 大家看看效果是不是和我们之前说的一样.今天, ...

  2. ftk学习记(label篇)【转】

    转自:http://blog.csdn.net/feixiaoxing/article/details/25000093 版权声明:本文为博主原创文章,未经博主允许不得转载. [ 声明:版权所有,欢迎 ...

  3. ftk学习记(label篇)

    [ 声明:版权全部,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 还是接着上面的一篇博文. 之前以前答应过大家,让大家看一下最简单的ftk程序是怎么执行的.所以 ...

  4. ftk学习记(icon篇)

    [声明:版权全部,欢迎转载.请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 在開始今天的文章之前.我们还是先看一下上一节的效果图. 大家能够參照上一节的解说,是不是存在这种 ...

  5. ftk学习记(滑动条篇)

    [声明:版权全部,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 前一篇说到了combox.就先看一下效果吧. 说完了combox,就谈谈今天的滑动条.滑动条,当然 ...

  6. ftk学习记(输入框篇)

    [ 声明:版权全部.欢迎转载.请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 昨天讲了进度条,我们还是看看它的运行效果是怎么样的.截图例如以下, 进度条使用的情况还是比較多的 ...

  7. ftk学习记(对话框篇)

    [声明:版权全部,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 前面谈到了输入法,首先看一看效果. 上面有4个输入框,大家能够分别试试,看看效果怎样. 今天,我 ...

  8. ftk学习记(waitbox篇)

    [声明:版权全部.欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 前面说到了脚本.那么就看看ftk中demo与script搭配的效果是什么样的? 上面的效果图就相 ...

  9. ftk学习记(list篇)

    [声明:版权全部,欢迎转载.请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 在開始今天的list主题之前,先看一下icon的执行效果. 今天说的list事实上和这个icon几 ...

随机推荐

  1. 异步lambda表达式

  2. poj1111 Image Perimeters 广搜

    题目大意: 输入一个矩阵,再输入其中一个“X”的位置(从1开始).从该位置向八个方向扩展,如果是“X”就可以并在一起.问最后得到的模块的周长是多少. 解题思路: 按照广搜的思路来做.用一个二维的数组标 ...

  3. sites for debugging script

    1. javascript debugger online: http://jsfiddle.net/ 2. script(js,python,ruby) debugger online: http: ...

  4. JQuery学习笔记系列(二)----

    jQuery是一个兼容多浏览器的javascript库,核心理念是write less,do more(写得更少,做得更多).其中也提供了很多函数来更加简洁的实现复杂的功能. 事件切换函数toggle ...

  5. ML:流形学习

    很多原理性的东西需要有基础性的理解,还是篇幅过少,所以讲解的不是特别的清晰. 原文链接:http://blog.sciencenet.cn/blog-722391-583413.html 流形(man ...

  6. SpringMVC(一) HelloWorld

    学习新东西的的第一个程序--HelloWorld,以下是SpringMVC的HelloWorld 第一步: 用MAVEN 创建webapp,并添加依赖.(强烈建议使用MAVEN,MAVEN学习书籍和视 ...

  7. 微信二次认证 C#

    using Senparc.Weixin.Entities; using Senparc.Weixin.HttpUtility; using Senparc.Weixin.QY.AdvancedAPI ...

  8. JS 封装一个显示时间的函数

    s(); function s (){ var mydate=new Date(); var y = mydate.getFullYear(); var m = mydate.getMonth(); ...

  9. 【leecode】宝石与石头

    给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头. S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石. J 中的字母不重复,J 和 S中的所有字符都是字母 ...

  10. C语言提高 (7) 第七天 回调函数 预处理函数DEBUG 动态链接库

    链表就是一个结构体 指针指向自身结构体类型 双向链表插入的时候 先改变自身 再改变两边 双向链表删除的时候 先改变两边 再改变自己 逆序一个单向链表 回调函数 指向函数的指针 4链表的遍历回调用法 / ...