首页 > 其他分享 >ftk学习记(首篇)

ftk学习记(首篇)

时间:2022-11-23 12:02:09浏览次数:35  
标签:widget 首篇 win 代码 学习 init demo ftk


 

    很早之前就知道ftk了,当时主要是因为买了李先静的书,所以知道了这么一个项目。因为对这种gui的代码很感兴趣,所以在我闲暇的时候也会拿来看一看。从整个工程来看,代码非常工整,平台移植也方便,所以有兴趣的同学可以看一看。

 

    一般对于一个开源项目,要深入地参与其中都要经历几个过程,这分别是使用、阅读、修改、重构。大多数公司里面也会使用到开源项目,但是往往停留在使用的阶段。所以,如果希望有深入了解的朋友还是需要自己腾出时间来好好研究一番才行。

 

    网上下载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:320x480 --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。其他的内容都是自己编写的。整个流程非常简单,创建一个win,设置win的属性,开始while(1)运行ftk。是不是很简单?

 

    如果大家有兴趣,可以好好理解一下这段代码。想看一下代码运行效果的同学,敬请期待下一篇文章。

 

 

 

标签:widget,首篇,win,代码,学习,init,demo,ftk
From: https://blog.51cto.com/feixiaoxing/5880826

相关文章

  • ftk学习记(label篇)
      还是接着上面的一篇博文。之前曾经答应过大家,让大家看一下最简单的ftk程序是怎么运行的。所以,这里我们上传一下图片。  因为还是编辑模式,所以暂时还不能看到图片......
  • MarkDown学习
    Markdown学习标题一级标题#+标题名二级标题##+标题名三级标题###+标题名字体正常字体Hello,World!Hello,World!文字两边加双星号为加粗字体Hello,World!......
  • unity学习笔记03-渲染管线
    图形数据在GPU上经过运算处理,最后显示在显示器上的过程游戏→图形API→cpu→(DRAWCALL)交给GPU→顶点处理→图元装配→光栅化→像素处理→缓存减少DRAWCALL 增加性能O......
  • 本人学习整理了-美妆类目完整直播话术框架流程➕话术提纲➕话术美妆类目完整直播话术
    本人当主播2年和运营1年,自己练习和整理的笔记分享详情内容,包括开场话术、活动话术、产品话术、品牌介绍、建立信任、优惠力度理由、促销、憋单技巧话术、互动话术、转款话......
  • 随想录(机器学习的生产应用)
    【声明:版权所有,欢迎转载,请勿用于商业用途。     从范围上讲,人工智能>机器学习>模式识别。最近机器学习愈演愈烈,特别是深度学习的发展,极大的推动了机器学习的应......
  • Python 深度学习目标检测评价指标
    ✅作者简介:热爱科研的算法开发者,Python、Matlab项目可交流、沟通、学习。......
  • 技术博客学习
    https://www.cnblogs.com/yangzhou33/archive/2020/11.htmlhttps://yuancheng.work/vue插槽学习https://blog.csdn.net/weixin_41646716/article/details/80450873......
  • Vue3学习笔记(七)—— 状态管理、Vuex、Pinia
    一、状态管理1.1、什么是状态管理?理论上来说,每一个Vue组件实例都已经在“管理”它自己的响应式状态了。我们以一个简单的计数器组件为例:<scriptsetup>import{re......
  • 学习量子力学
    向xxx学习,我也决定开始写学习日记,也许可以提高效率!学习资料:Griffith:IntroductiontoQuantumMechanicsSakurai:ModernQuantumMechanicsProf.BartonZwiebach's......
  • CAD命令学习日志
    CAD命令学习日志配置OP-打开配置选项UNITS-设置全局默认单位查找QSELECT-快速选择相同对象LIST-快速查看对象信息FILTER-对象过滤器F2-打开CAD文本窗......