【声明:版权全部。欢迎转载,请勿用于商业用途。  联系信箱:feixiaoxing @163.com】

前面说到了脚本。那么就看看ftk中demo与script搭配的效果是什么样的?

上面的效果图就相似于一个通讯录的输入功能,大家能够和之前的脚本对比起来看,检查一下是不是这种。

如题所看到的,今天所看到的的是waitbox。它出现的场合,通常是交互时间比較长的情况。比方说信用卡付款,游戏登陆等等。闲话不多。直接上demo代码。

  1. #include "ftk.h"
  2.  
  3. static Ret button_quit_clicked(void* ctx, void* obj)
  4. {
  5. ftk_quit();
  6.  
  7. return RET_OK;
  8. }
  9.  
  10. static Ret button_start_clicked(void* ctx, void* obj)
  11. {
  12. ftk_wait_box_start_waiting(ctx);
  13.  
  14. return RET_OK;
  15. }
  16.  
  17. static Ret button_stop_clicked(void* ctx, void* obj)
  18. {
  19. ftk_wait_box_stop_waiting(ctx);
  20.  
  21. return RET_OK;
  22. }
  23.  
  24. int main(int argc, char* argv[])
  25. {
  26. int width = 0;
  27. int height = 0;
  28. FtkWidget* win = NULL;
  29. FtkWidget* button = NULL;
  30. FtkWidget* wait_box = NULL;
  31.  
  32. ftk_init(argc, argv);
  33.  
  34. win = ftk_app_window_create();
  35. width = ftk_widget_width(win);
  36. height = ftk_widget_height(win);
  37.  
  38. wait_box = ftk_wait_box_create(win, width/2 - 16, height/4);
  39.  
  40. button = ftk_button_create(win, 0, height/2, width/3, 50);
  41. ftk_widget_set_text(button, "start");
  42. ftk_button_set_clicked_listener(button, button_start_clicked, wait_box);
  43.  
  44. button = ftk_button_create(win, 2*width/3, height/2, width/3, 50);
  45. ftk_widget_set_text(button, "stop");
  46. ftk_button_set_clicked_listener(button, button_stop_clicked, wait_box);
  47.  
  48. button = ftk_button_create(win, width/4, 3*height/4, width/2, 60);
  49. ftk_widget_set_text(button, "quit");
  50. ftk_button_set_clicked_listener(button, button_quit_clicked, win);
  51. ftk_window_set_focus(win, button);
  52.  
  53. ftk_widget_set_text(win, "wait_box demo");
  54. ftk_widget_show_all(win, 1);
  55. ftk_widget_set_attr(win, FTK_ATTR_QUIT_WHEN_CLOSE);
  56.  
  57. ftk_run();
  58.  
  59. return 0;
  60. }

这个demo的流程是非常清晰的。

全文上下的亮点就是三个button的创建。

抛却quit button不谈。仅仅有start button和stop button和我们今天的主题相关。

非常明显,在main函数一開始的时候。系统就创建了一个叫wait_box的变量,所以start button和stop button的响应函数也和这个wait_box相关。果不其然,start button事实上就是让wait_box动起来。而stop button就是让wait_box停止活动,就是这么简单。

想看效果,仅仅能等下次见了。

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

  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学习记(首篇)

    [ 声明:版权全部,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 非常早之前就知道ftk了,当时主要是由于买了李先静的书,所以知道了这么一个项目.由于对这样的g ...

  5. ftk学习记(icon篇)

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

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

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

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

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

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

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

  9. ftk学习记(list篇)

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

随机推荐

  1. Qt之日志输出文件

    在Qt开发过程当中经常使用qDebug等一些输出来调试程序,但是到了正式发布的时候,都会被注释或者删除,采用日志输出来代替.     做过项目的童鞋可能都使用过日志功能,以便有异常错误能够快速跟踪.定 ...

  2. Spring Session - Spring Boot

    The completed guide can be found in the boot sample application. Updating Dependencies Before you us ...

  3. QNX---Interrupt vector numbers(原创!!!)

    Interrupt intr Description 0 A clock that runs at the resolution set by ClockPeriod() 1 Keyboard 2 S ...

  4. Python easy_insatll 安装包

    Python 使用 easy_instal安装第三方扩展包更容易 easy insatll 下载地址 https://pypi.python.org/pypi/setuptools/ windows ...

  5. JavaScript函数节流与函数去抖

    介绍 首先解释一下这两个概念: 函数节流(throttle):是让一个函数无法在很短的时间间隔内连续调用,当上一次函数执行后过了规定的时间间隔,才能进行下一次该函数的调用. 函数去抖(debounce ...

  6. 【ASP.NET Web API教程】6 格式化与模型绑定

    原文:[ASP.NET Web API教程]6 格式化与模型绑定 6 Formats and Model Binding 6 格式化与模型绑定 本文引自:http://www.asp.net/web- ...

  7. php运行

    运行命令: $php 1.php php教程: http://www.w3school.com.cn/php/php_variables.asp

  8. 【Demo 0008】标签控制器

    本章学习要点:       1.  了解标签控制器基础知识;       2.  掌握标签控制器层次结构;       3.  掌握标签控制器基本用法;       4.  掌握自定义标签控制器:   ...

  9. Android平均分布的布局图像的下一行

    Android下一行平均分布图片的布局 这是一个非经常见的需求,比方有三个图片button,须要在底部三个平均,比方下个样例: 下面是布局文件 <LinearLayout android:lay ...

  10. centos 安装 redis3.2.0 集群

    这里创建6个redis节点,其中三个为主节点,三个为从节点. redis和端口对应关系: 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 从: 127.0.0 ...