ftk学习记(首篇)

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

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

时间: 2024-08-09 10:38:33

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

ftk学习记(label篇)【转】

转自:http://blog.csdn.net/feixiaoxing/article/details/25000093 版权声明:本文为博主原创文章,未经博主允许不得转载. [ 声明:版权所有,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 还是接着上面的一篇博文.之前曾经答应过大家,让大家看一下最简单的ftk程序是怎么运行的.所以,这里我们上传一下图片. 因为还是编辑模式,所以暂时还不能看到图片在网页中是怎么显示的.不过没有关系,这次只是做一个最初的尝试

ftk学习记(label篇)

[ 声明:版权全部,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 还是接着上面的一篇博文. 之前以前答应过大家,让大家看一下最简单的ftk程序是怎么执行的.所以,这里我们上传一下图片. 由于还是编辑模式.所以临时还不能看到图片在网页中是怎么显示的. 只是没有关系,这次仅仅是做一个最初的尝试.假设大家有更好的意见,最好还是用微信扫一下头像或者私信给我,就能够了. 前面的代码还是比較简单的.今天,我们来学习一下label的显示方法.当然,无论大家是做windo

ftk学习记(icon篇)

[声明:版权全部,欢迎转载.请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 在開始今天的文章之前.我们还是先看一下上一节的效果图. 大家能够參照上一节的解说,是不是存在这种button,是不是存在这种wait_box控件,相同是不是能够看到wait_box活动的情形.当然,有条件的朋友最好自己编译一下这个demo代码.按步骤调试每一行代码. 今天,如标题所看到的.我们所学习的是icon的内容.简单一点说,此次基本的目的就是想在窗体上显示icon图像的内容. 至于怎样显

ftk学习记(输入框篇)

[ 声明:版权全部.欢迎转载.请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 昨天讲了进度条,我们还是看看它的运行效果是怎么样的.截图例如以下, 进度条使用的情况还是比較多的.只是有一种控件,我们遇到的机会很多其它.那就是输入框.非常难想象,没有输入框的gui是什么样的. 在网上购物或者买车票的时候.非常重要的一条就是输入自己的账户.password信息.所以说,没有输入的话,这些app都无法使用了.相同,我们能够看一下ftk下的输入框demo代码是什么样的. #inc

ftk学习记(waitbox篇)

[声明:版权全部.欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 前面说到了脚本.那么就看看ftk中demo与script搭配的效果是什么样的? 上面的效果图就相似于一个通讯录的输入功能,大家能够和之前的脚本对比起来看,检查一下是不是这种. 如题所看到的,今天所看到的的是waitbox.它出现的场合,通常是交互时间比較长的情况.比方说信用卡付款,游戏登陆等等.闲话不多.直接上demo代码. #include "ftk.h" static Ret b

ftk学习记(combox篇)

[声明:版权全部,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 上一篇文章谈到了多窗体,还是依照约定看一下效果是什么样的. 假设大家细心一点.就会发现窗体中的label显示为window01,这事实上是由于我们已经添加了一个窗体,有兴趣的朋友能够尝试编译一下.如题所看到的,今天讨论的是combox.所谓的combox,事实上就是从给出的若干个选择挑选出一个就可以. 闲话少说,还是看代码. #include "ftk.h" #define IDC_

linux系统的学习经验首篇

1.linux打开terminal,两种最简单的办法,第一种,直接Ctrl+Alt+T:第二种,Alt+F2,输入gnome-terminal:更复杂的不建议使用.2.linux没有盘符的概念,只有路径,分为相对路径和绝对路径:绝对路径表示为:/路径名称,表示从根目录或者家目录开始的详细路径:相对路径表示当前目录所在的路径.3.linux系统区分大小写,terminal下ls查看,蓝颜色为文件夹,白颜色为文件,使用ls -l查看文件,左侧开头字母为D代表这些都是文件夹信息,为-则表示这些问文件内

linux命令学习-首篇

在home目录的.bashrc 添加了如下逻辑,目的是可以"每日"学习或复习linux命令 # 学习linux命令 # echo "Did you know that:"; whatis $(ls /bin | shuf -n 1) cowsay -f $(ls /usr/share/cowsay/cows | shuf -n 1 | cut -d. -f1) $(whatis $(ls /bin) 2>/dev/null | shuf -n 1) 效果图:

ASP.NET MVC学习之过滤器篇(2)

下面我们继续之前的ASP.NET MVC学习之过滤器篇(1)进行学习. 3.动作过滤器 顾名思义,这个过滤器就是在动作方法调用前与调用后响应的.我们可以在调用前更改实际调用的动作,也可以在动作调用完成之后更改最终返回的结果,当然很多人一定不太明白这个到底可以干什么, 下面我们举一个比较实际的例子: 相信理解过网站的安全的一定知道跨站请求(CSRF具体可以自行百度,这里我就不去解释了),当然也有解决方案,那就是给页面中增加一个识别码,当页面进行POST请求时,首先判断识别码是否正确, 如果正确则继