博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ftk学习记录(button一片)
阅读量:7199 次
发布时间:2019-06-29

本文共 2600 字,大约阅读时间需要 8 分钟。

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

    前面,我们说到了label,这里能够看一下label执行的效果是怎么样的。

    大家能够对比上面的结果图。看看我们之前的描写叙述是否正确。

    说完了label,能够看看button是怎么设计的。

button是gui设计中的一个基本控件。通常我们按下了一个button。意味着此时想处理一个事情。详细是什么事情,全然能够通过设定一个回调函数来编写完毕。相同,我们能够用一段demo代码来说明问题。

#include "ftk.h"#define IDC_TEST_BUTTON 1000static Ret button_quit_clicked(void* ctx, void* obj){	ftk_quit();	return RET_OK;}static Ret button_hide_clicked(void* ctx, void* obj){	ftk_widget_show(ftk_widget_lookup(ctx, IDC_TEST_BUTTON), 0);	return RET_OK;}static Ret button_show_clicked(void* ctx, void* obj){	ftk_widget_show(ftk_widget_lookup(ctx, IDC_TEST_BUTTON), 1);	return RET_OK;}static Ret button_default_clicked(void* ctx, void* obj){	printf("%s: button %s is clicked.\n", __func__, ftk_widget_get_text(obj));	return RET_OK;}int FTK_MAIN(int argc, char* argv[]){	int width = 0;	int height = 0;	FtkWidget* win = NULL;	FtkWidget* button = NULL;	ftk_init(argc, argv);		win = ftk_app_window_create();	width = ftk_widget_width(win);	height = ftk_widget_height(win);		width = width/3 - 10;	button = ftk_button_create(win, 0, 30, width, 50);	ftk_widget_set_text(button, "show");	ftk_button_set_clicked_listener(button, button_show_clicked, win);	button = ftk_button_create(win, width + 10, 30, width, 50);	ftk_widget_set_text(button, "hide");	ftk_button_set_clicked_listener(button, button_hide_clicked, win);		button = ftk_button_create(win, 2*(width + 10), 30, width, 50);	ftk_widget_set_text(button, "按钮測试");	ftk_widget_set_id(button, IDC_TEST_BUTTON);	ftk_button_set_clicked_listener(button, button_default_clicked, win);		button = ftk_button_create(win, 0, 130, width, 40);	ftk_widget_set_text(button, "yes");	ftk_button_set_clicked_listener(button, button_default_clicked, win);		button = ftk_button_create(win, 2*(width + 10), 130, width, 40);	ftk_widget_set_text(button, "no");	ftk_button_set_clicked_listener(button, button_default_clicked, win);		button = ftk_button_create(win, width + 10, height/2, width, 60);	ftk_widget_set_text(button, "quit");	ftk_button_set_clicked_listener(button, button_quit_clicked, win);	ftk_window_set_focus(win, button);	ftk_widget_set_text(win, "button demo");	ftk_widget_show_all(win, 1);	ftk_widget_set_attr(win, FTK_ATTR_QUIT_WHEN_CLOSE);	ftk_run();	return 0;}

    上面的代码有80行左右,可是流程不复杂。相同,代码在创建了一个win控件后。创建了六个button控件。它们依次是show、hide、按钮測试、yes、no、quit。当然,在创建button的时候,我们还得配置对应的回调函数。这里有四个回调函数。button_quit_clicked是quit使用。而button_default_clicked是缺省使用的回调函数。

基本的两个函数还是button_show_clicked和button_hide_clicked。一个是显示button,一个是隐藏button,当中隐藏的button就是我们之前创建的“按钮測试”这个button。

    想看看执行效果的朋友,敬请期待以下一篇博文。

版权声明:本文博主原创文章。博客,未经同意不得转载。

你可能感兴趣的文章
如何使用代码获得一个function module的Where Used List
查看>>
CentOS6.5 安装GNS3
查看>>
专访全球人工智能的领军人物李飞飞:人工智能发展最重要的是“普世化”
查看>>
SVG动画
查看>>
李开复万字长文科普人工智能:AI是什么 将带我们去哪儿?
查看>>
思科3.2亿美元现金收购Springpath 加强数据中心市场实力
查看>>
EntityManager的使用
查看>>
工厂模式-创建型
查看>>
高仿163网站广告弹出层(每天定时24小时弹出一次)
查看>>
Linux之 网卡发包、接包 error 、droped 情况
查看>>
Oracle 块修改跟踪 (Block Change Tracking) 说明
查看>>
Rebound动画框架简单介绍
查看>>
git删除分支与合并分支
查看>>
[C]C语言中return 0和return 1和return -1
查看>>
Linux运维人员共用root帐户权限审计
查看>>
linx之vi相关问题
查看>>
iOS 更改navigationcontroller pop出来的视图返回按钮
查看>>
memcached安装
查看>>
学习笔记 六 : NFS
查看>>
tr命令总结
查看>>