0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

分享一款GUI开发神器

strongerHuang 来源: 嵌入式大杂烩 2024-11-06 09:29 次阅读

转自 | 嵌入式大杂烩

GT-HMI

GT-HMI(Human Machine Interface) 国产开源 GUI 框架及永久免费设计软件。

开源许可协议:MIT

它提供创建具有易于使用的图形元素,精美的视觉效果和低内存占用的嵌入式 GUI 所需的一切。针对国内市场及用户需求,使用习惯进行了优化设计,为国内工程师量身打造!

产品由中国高通 GENITOP 倾心打造,继承了中国高通 30 年的汉显技术及汉字技术积累。产品分为上位机 GT-HMI Designer 和下位机 GT-HMI Engine。

GT HMI Designer是一款功能强大的嵌入式人机界面设计软件。它提供直观的可视化设计界面,支持多种常用控件和丰富的交互功能。此外,它还支持多国语言界面设计和强大的仿真功能。通过GT HMI Designer,可以轻松设计出美观、交互性强的界面,满足各种应用场景的需求。

GT HMI Engine是一款功能强大、高性能、多平台、多语言、稳定可靠的嵌入式人机界面引擎,提供丰富的控件和强大的交互功能。

特性

上位机设计软件 GT-HMI Designer 永久免费,下位机技术框架 GT-HMI Engine 开源,使用无拘束;

GT-HMI Designer 内嵌下位机技术框架编译器,可自动生成下位机代码;

提供 GT-HMI 模块,已适配 GT-HMI 上下位机软件及驱动,可以用于前期开发调试,也可以直接作为显示模块使用;

多平台兼容,移植便捷;

上位机设计软件 GT-HMI Designer;

可直接生成交互代码,免去写代码的繁琐工作;

模拟器仿真即见即所得;

内置了大量常用的组件,如按钮、文本框、进度条、单选框等;

支持高通全系列点阵/矢量字库,支持中外文及小语种,多种字号及字体;

内置中英文及数字输入法;

持续更新的 GUI 示例库和 UI 资源库;

下位机技术框架 GT-HMI Engine;

纯 C 语言编写,使用无门槛;

小巧高效,不限平台,最小仅需 24K RAM+32K FLASH,可运行在 Cortex-ARM M0M3 等小资源平台;

移植便捷,切换平台只需移植定时器、TP 和 LCD 接口,并提供移植教程及示例;

丰富详实的例程,配套的开发套件易于上手;

支持自定义功能开发,可用 GT-HMI Engine 自定义控件和功能,组合进 GT-HMI Designer 生成的标准代码;

带系统(如 RTOSLinux 等)和裸机均可使用。

软件架构

软件架构说明

目录 说明
doc/ 相关文档说明资料
driver/ 底层驱动相关的移植代码
examples/ 控件调用示例
sources/ gui 内部使用的 images 素材
test/ 单元测试代码
src/ gui 框架代码
|-gt_conf.h 配置
|-core/ gui 核心代码
|-extra/ 拓展控件
|-font/ 字体
|-hal/ 中间件,中间层
|-others/ 不好分类的代码
|-utils/ 工具类
|-widgets/ 控件
|-|-gt_conf_widgets.h 控件开关宏

演示示例

多国语言示例

#include"gt_ui.h"


//screen_home
gt_obj_st*screen_home=NULL;
staticgt_obj_st*lab1=NULL;
staticgt_obj_st*rect1=NULL;
staticgt_obj_st*btn1=NULL;
staticgt_obj_st*btn2=NULL;
staticgt_obj_st*btn3=NULL;
staticgt_obj_st*btn4=NULL;
staticgt_obj_st*btn5=NULL;
staticgt_obj_st*btn7=NULL;
staticgt_obj_st*btn8=NULL;
staticgt_obj_st*btn9=NULL;
staticgt_obj_st*btn10=NULL;

staticvoidbtn1_0_cb(gt_event_st*e){
gt_init_screen_1();
}

staticvoidbtn2_0_cb(gt_event_st*e){
gt_init_screen_2();
}

staticvoidbtn3_0_cb(gt_event_st*e){
gt_init_screen_3();
}

staticvoidbtn4_0_cb(gt_event_st*e){
gt_init_screen_4();
}

staticvoidbtn5_0_cb(gt_event_st*e){
gt_init_screen_5();
}

staticvoidbtn7_0_cb(gt_event_st*e){
gt_init_screen_7();
}

staticvoidbtn8_0_cb(gt_event_st*e){
gt_init_screen_8();
}

staticvoidbtn9_0_cb(gt_event_st*e){
gt_init_screen_9();
}

staticvoidbtn10_0_cb(gt_event_st*e){
gt_init_screen_10();
}

voidgt_init_screen_home(void)
{
screen_home=gt_obj_create(NULL);
gt_screen_set_bgcolor(screen_home,gt_color_hex(0xFFFFFF));
//lab1
lab1=gt_label_create(screen_home);
gt_obj_set_pos(lab1,295,16);
gt_obj_set_size(lab1,118,40);
gt_label_set_font_color(lab1,gt_color_hex(0x000000));
gt_label_set_font_size(lab1,24);
gt_label_set_font_family_cn(lab1,16);
gt_label_set_font_align(lab1,GT_ALIGN_LEFT);
gt_label_set_text(lab1,"语言设置");
//rect1
rect1=gt_rect_create(screen_home);
gt_obj_set_pos(rect1,8,55);
gt_obj_set_size(rect1,660,1);
gt_rect_set_radius(rect1,0);
gt_rect_set_bg_color(rect1,gt_color_hex(0xdbdbdb));
gt_rect_set_color_border(rect1,gt_color_hex(0xdbdbdb));
gt_rect_set_fill(rect1,1);
gt_rect_set_border(rect1,0);
//btn1
btn1=gt_btn_create(screen_home);
gt_obj_set_pos(btn1,29,76);
gt_obj_set_size(btn1,160,43);
gt_btn_set_font_color(btn1,gt_color_hex(0x000000));
gt_btn_set_font_size(btn1,24);
gt_btn_set_font_family_cn(btn1,16);
gt_btn_set_font_family_en(btn1,84);
gt_btn_set_font_align(btn1,GT_ALIGN_CENTER_MID);
gt_btn_set_space(btn1,5,0);
gt_btn_set_font_thick_en(btn1,30);
gt_btn_set_font_thick_cn(btn1,30);
gt_btn_set_font_gray(btn1,1);
gt_btn_set_text(btn1,"中文");
gt_btn_set_color_background(btn1,gt_color_hex(0xddeeff));
gt_btn_set_radius(btn1,8);
gt_obj_add_event_cb(btn1,btn1_0_cb,GT_EVENT_TYPE_INPUT_RELEASED,NULL);
//btn2
btn2=gt_btn_create(screen_home);
gt_obj_set_pos(btn2,264,76);
gt_obj_set_size(btn2,160,43);
gt_btn_set_font_color(btn2,gt_color_hex(0x000000));
gt_btn_set_font_size(btn2,24);
gt_btn_set_font_family_cn(btn2,16);
gt_btn_set_font_family_en(btn2,84);
gt_btn_set_font_align(btn2,GT_ALIGN_CENTER_MID);
gt_btn_set_space(btn2,5,0);
gt_btn_set_font_thick_en(btn2,30);
gt_btn_set_font_thick_cn(btn2,30);
gt_btn_set_font_gray(btn2,1);
gt_btn_set_text(btn2,"日语");
gt_btn_set_color_background(btn2,gt_color_hex(0xddeeff));
gt_btn_set_radius(btn2,8);
gt_obj_add_event_cb(btn2,btn2_0_cb,GT_EVENT_TYPE_INPUT_RELEASED,NULL);
//btn3
btn3=gt_btn_create(screen_home);
gt_obj_set_pos(btn3,489,76);
gt_obj_set_size(btn3,160,41);
gt_btn_set_font_color(btn3,gt_color_hex(0x000000));
gt_btn_set_font_size(btn3,24);
gt_btn_set_font_family_cn(btn3,16);
gt_btn_set_font_family_en(btn3,84);
gt_btn_set_font_align(btn3,GT_ALIGN_CENTER_MID);
gt_btn_set_space(btn3,5,0);
gt_btn_set_font_thick_en(btn3,30);
gt_btn_set_font_thick_cn(btn3,30);
gt_btn_set_font_gray(btn3,1);
gt_btn_set_text(btn3,"韩语");
gt_btn_set_color_background(btn3,gt_color_hex(0xddeeff));
gt_btn_set_radius(btn3,8);
gt_obj_add_event_cb(btn3,btn3_0_cb,GT_EVENT_TYPE_INPUT_RELEASED,NULL);
//btn4
btn4=gt_btn_create(screen_home);
gt_obj_set_pos(btn4,29,158);
gt_obj_set_size(btn4,160,43);
gt_btn_set_font_color(btn4,gt_color_hex(0x000000));
gt_btn_set_font_size(btn4,24);
gt_btn_set_font_family_cn(btn4,16);
gt_btn_set_font_family_en(btn4,41);
gt_btn_set_font_align(btn4,GT_ALIGN_CENTER_MID);
gt_btn_set_space(btn4,5,0);
gt_btn_set_text(btn4,"英语");
gt_btn_set_color_background(btn4,gt_color_hex(0xddeeff));
gt_btn_set_radius(btn4,8);
gt_obj_add_event_cb(btn4,btn4_0_cb,GT_EVENT_TYPE_INPUT_RELEASED,NULL);


//btn5
btn5=gt_btn_create(screen_home);
gt_obj_set_pos(btn5,263,158);
gt_obj_set_size(btn5,160,43);
gt_btn_set_font_color(btn5,gt_color_hex(0x000000));
gt_btn_set_font_size(btn5,24);
gt_btn_set_font_family_cn(btn5,16);
gt_btn_set_font_family_en(btn5,53);
gt_btn_set_font_align(btn5,GT_ALIGN_CENTER_MID);
gt_btn_set_space(btn5,5,0);
gt_btn_set_text(btn5,"法语");
gt_btn_set_color_background(btn5,gt_color_hex(0xddeeff));
gt_btn_set_radius(btn5,8);
gt_obj_add_event_cb(btn5,btn5_0_cb,GT_EVENT_TYPE_INPUT_RELEASED,NULL);


//btn7
btn7=gt_btn_create(screen_home);
gt_obj_set_pos(btn7,30,238);
gt_obj_set_size(btn7,160,43);
gt_btn_set_font_color(btn7,gt_color_hex(0x000000));
gt_btn_set_font_size(btn7,24);
gt_btn_set_font_family_cn(btn7,16);
gt_btn_set_font_family_en(btn7,53);
gt_btn_set_font_align(btn7,GT_ALIGN_CENTER_MID);
gt_btn_set_space(btn7,5,0);
gt_btn_set_text(btn7,"西班牙语");
gt_btn_set_color_background(btn7,gt_color_hex(0xddeeff));
gt_btn_set_radius(btn7,8);
gt_obj_add_event_cb(btn7,btn7_0_cb,GT_EVENT_TYPE_INPUT_RELEASED,NULL);


//btn8
btn8=gt_btn_create(screen_home);
gt_obj_set_pos(btn8,263,238);
gt_obj_set_size(btn8,160,43);
gt_btn_set_font_color(btn8,gt_color_hex(0x000000));
gt_btn_set_font_size(btn8,24);
gt_btn_set_font_family_cn(btn8,16);
gt_btn_set_font_family_en(btn8,41);
gt_btn_set_font_align(btn8,GT_ALIGN_CENTER_MID);
gt_btn_set_space(btn8,5,0);
gt_btn_set_text(btn8,"泰语");
gt_btn_set_color_background(btn8,gt_color_hex(0xddeeff));
gt_btn_set_radius(btn8,8);
gt_obj_add_event_cb(btn8,btn8_0_cb,GT_EVENT_TYPE_INPUT_RELEASED,NULL);


//btn9
btn9=gt_btn_create(screen_home);
gt_obj_set_pos(btn9,490,238);
gt_obj_set_size(btn9,160,43);
gt_btn_set_font_color(btn9,gt_color_hex(0x000000));
gt_btn_set_font_size(btn9,24);
gt_btn_set_font_family_cn(btn9,16);
gt_btn_set_font_family_en(btn9,75);
gt_btn_set_font_align(btn9,GT_ALIGN_CENTER_MID);
gt_btn_set_space(btn9,5,0);
gt_btn_set_text(btn9,"阿拉伯语");
gt_btn_set_color_background(btn9,gt_color_hex(0xddeeff));
gt_btn_set_radius(btn9,8);
gt_obj_add_event_cb(btn9,btn9_0_cb,GT_EVENT_TYPE_INPUT_RELEASED,NULL);


//btn10
btn10=gt_btn_create(screen_home);
gt_obj_set_pos(btn10,489,158);
gt_obj_set_size(btn10,160,43);
gt_btn_set_font_color(btn10,gt_color_hex(0x000000));
gt_btn_set_font_size(btn10,24);
gt_btn_set_font_family_cn(btn10,16);
gt_btn_set_font_family_en(btn10,60);
gt_btn_set_font_align(btn10,GT_ALIGN_CENTER_MID);
gt_btn_set_space(btn10,5,0);
gt_btn_set_text(btn10,"俄语");
gt_btn_set_color_background(btn10,gt_color_hex(0xddeeff));
gt_btn_set_radius(btn10,8);
gt_obj_add_event_cb(btn10,btn10_0_cb,GT_EVENT_TYPE_INPUT_RELEASED,NULL);


gt_disp_load_scr_anim(screen_home,GT_SCR_ANIM_TYPE_NONE,500,0,true);

}

矢量字库示例

#include"gt_ui.h"


//screen_home
gt_obj_st*screen_home=NULL;
staticgt_obj_st*lab1=NULL;
staticgt_obj_st*rect1=NULL;
staticgt_obj_st*btn1=NULL;
staticgt_obj_st*btn2=NULL;
staticgt_obj_st*btn3=NULL;
staticgt_obj_st*btn4=NULL;
staticgt_obj_st*btn5=NULL;
staticgt_obj_st*btn7=NULL;
staticgt_obj_st*btn8=NULL;
staticgt_obj_st*btn9=NULL;
staticgt_obj_st*btn10=NULL;

staticvoidbtn1_0_cb(gt_event_st*e){
gt_init_screen_1();
}

staticvoidbtn2_0_cb(gt_event_st*e){
gt_init_screen_2();
}

staticvoidbtn3_0_cb(gt_event_st*e){
gt_init_screen_3();
}

staticvoidbtn4_0_cb(gt_event_st*e){
gt_init_screen_4();
}

staticvoidbtn5_0_cb(gt_event_st*e){
gt_init_screen_5();
}

staticvoidbtn7_0_cb(gt_event_st*e){
gt_init_screen_7();
}

staticvoidbtn8_0_cb(gt_event_st*e){
gt_init_screen_8();
}

staticvoidbtn9_0_cb(gt_event_st*e){
gt_init_screen_9();
}

staticvoidbtn10_0_cb(gt_event_st*e){
gt_init_screen_6();
}

voidgt_init_screen_home(void)
{
screen_home=gt_obj_create(NULL);
gt_screen_set_bgcolor(screen_home,gt_color_hex(0xFFFFFF));
//lab1
lab1=gt_label_create(screen_home);
gt_obj_set_pos(lab1,207,10);
gt_obj_set_size(lab1,309,40);
gt_label_set_font_color(lab1,gt_color_hex(0x000000));
gt_label_set_font_size(lab1,24);
gt_label_set_font_family_cn(lab1,80);
gt_label_set_font_align(lab1,GT_ALIGN_LEFT);
gt_label_set_font_thick_en(lab1,30);
gt_label_set_font_thick_cn(lab1,30);
gt_label_set_font_gray(lab1,4);
gt_label_set_text(lab1,"矢量字库,灰度与多字形");
//rect1
rect1=gt_rect_create(screen_home);
gt_obj_set_pos(rect1,8,55);
gt_obj_set_size(rect1,660,1);
gt_rect_set_radius(rect1,0);
gt_rect_set_bg_color(rect1,gt_color_hex(0xdbdbdb));
gt_rect_set_color_border(rect1,gt_color_hex(0xdbdbdb));
gt_rect_set_fill(rect1,1);
gt_rect_set_border(rect1,0);
//btn1
btn1=gt_btn_create(screen_home);
gt_obj_set_pos(btn1,33,78);
gt_obj_set_size(btn1,160,43);
gt_btn_set_font_color(btn1,gt_color_hex(0x000000));
gt_btn_set_font_size(btn1,24);
gt_btn_set_font_family_cn(btn1,80);
gt_btn_set_font_family_en(btn1,84);
gt_btn_set_font_align(btn1,GT_ALIGN_CENTER_MID);
gt_btn_set_space(btn1,0,0);
gt_btn_set_font_thick_en(btn1,30);
gt_btn_set_font_thick_cn(btn1,30);
gt_btn_set_font_gray(btn1,4);
gt_btn_set_text(btn1,"中文宋体");
gt_btn_set_color_background(btn1,gt_color_hex(0xddeeff));
gt_btn_set_radius(btn1,8);
gt_obj_add_event_cb(btn1,btn1_0_cb,GT_EVENT_TYPE_INPUT_RELEASED,NULL);
//btn2
btn2=gt_btn_create(screen_home);
gt_obj_set_pos(btn2,266,76);
gt_obj_set_size(btn2,160,43);
gt_btn_set_font_color(btn2,gt_color_hex(0x000000));
gt_btn_set_font_size(btn2,24);
gt_btn_set_font_family_cn(btn2,80);
gt_btn_set_font_family_en(btn2,84);
gt_btn_set_font_align(btn2,GT_ALIGN_CENTER_MID);
gt_btn_set_space(btn2,0,0);
gt_btn_set_font_thick_en(btn2,30);
gt_btn_set_font_thick_cn(btn2,30);
gt_btn_set_font_gray(btn2,4);
gt_btn_set_text(btn2,"中文黑体");
gt_btn_set_color_background(btn2,gt_color_hex(0xddeeff));
gt_btn_set_radius(btn2,8);
gt_obj_add_event_cb(btn2,btn2_0_cb,GT_EVENT_TYPE_INPUT_RELEASED,NULL);
//btn3
btn3=gt_btn_create(screen_home);
gt_obj_set_pos(btn3,493,76);
gt_obj_set_size(btn3,160,41);
gt_btn_set_font_color(btn3,gt_color_hex(0x000000));
gt_btn_set_font_size(btn3,24);
gt_btn_set_font_family_cn(btn3,80);
gt_btn_set_font_family_en(btn3,84);
gt_btn_set_font_align(btn3,GT_ALIGN_CENTER_MID);
gt_btn_set_space(btn3,0,0);
gt_btn_set_font_thick_en(btn3,30);
gt_btn_set_font_thick_cn(btn3,30);
gt_btn_set_font_gray(btn3,4);
gt_btn_set_text(btn3,"英文斜体");
gt_btn_set_color_background(btn3,gt_color_hex(0xddeeff));
gt_btn_set_radius(btn3,8);
gt_obj_add_event_cb(btn3,btn3_0_cb,GT_EVENT_TYPE_INPUT_RELEASED,NULL);
//btn4
btn4=gt_btn_create(screen_home);
gt_obj_set_pos(btn4,33,160);
gt_obj_set_size(btn4,160,43);
gt_btn_set_font_color(btn4,gt_color_hex(0x000000));
gt_btn_set_font_size(btn4,24);
gt_btn_set_font_family_cn(btn4,80);
gt_btn_set_font_family_en(btn4,41);
gt_btn_set_font_align(btn4,GT_ALIGN_CENTER_MID);
gt_btn_set_space(btn4,0,0);
gt_btn_set_font_thick_en(btn4,30);
gt_btn_set_font_thick_cn(btn4,30);
gt_btn_set_font_gray(btn4,4);
gt_btn_set_text(btn4,"英文手写体");
gt_btn_set_color_background(btn4,gt_color_hex(0xddeeff));
gt_btn_set_radius(btn4,8);
gt_obj_add_event_cb(btn4,btn4_0_cb,GT_EVENT_TYPE_INPUT_RELEASED,NULL);


//btn5
btn5=gt_btn_create(screen_home);
gt_obj_set_pos(btn5,265,160);
gt_obj_set_size(btn5,160,43);
gt_btn_set_font_color(btn5,gt_color_hex(0x000000));
gt_btn_set_font_size(btn5,24);
gt_btn_set_font_family_cn(btn5,80);
gt_btn_set_font_family_en(btn5,53);
gt_btn_set_font_align(btn5,GT_ALIGN_CENTER_MID);
gt_btn_set_space(btn5,0,0);
gt_btn_set_font_thick_en(btn5,30);
gt_btn_set_font_thick_cn(btn5,30);
gt_btn_set_font_gray(btn5,4);
gt_btn_set_text(btn5,"日文黑体");
gt_btn_set_color_background(btn5,gt_color_hex(0xddeeff));
gt_btn_set_radius(btn5,8);
gt_obj_add_event_cb(btn5,btn5_0_cb,GT_EVENT_TYPE_INPUT_RELEASED,NULL);


//btn7
btn7=gt_btn_create(screen_home);
gt_obj_set_pos(btn7,32,240);
gt_obj_set_size(btn7,160,43);
gt_btn_set_font_color(btn7,gt_color_hex(0x000000));
gt_btn_set_font_size(btn7,24);
gt_btn_set_font_family_cn(btn7,80);
gt_btn_set_font_family_en(btn7,53);
gt_btn_set_font_align(btn7,GT_ALIGN_CENTER_MID);
gt_btn_set_space(btn7,0,0);
gt_btn_set_font_thick_en(btn7,30);
gt_btn_set_font_thick_cn(btn7,30);
gt_btn_set_font_gray(btn7,4);
gt_btn_set_text(btn7,"俄文");
gt_btn_set_color_background(btn7,gt_color_hex(0xddeeff));
gt_btn_set_radius(btn7,8);
gt_obj_add_event_cb(btn7,btn7_0_cb,GT_EVENT_TYPE_INPUT_RELEASED,NULL);


//btn8
btn8=gt_btn_create(screen_home);
gt_obj_set_pos(btn8,267,240);
gt_obj_set_size(btn8,160,43);
gt_btn_set_font_color(btn8,gt_color_hex(0x000000));
gt_btn_set_font_size(btn8,24);
gt_btn_set_font_family_cn(btn8,80);
gt_btn_set_font_family_en(btn8,41);
gt_btn_set_font_align(btn8,GT_ALIGN_CENTER_MID);
gt_btn_set_space(btn8,0,0);
gt_btn_set_font_thick_en(btn8,30);
gt_btn_set_font_thick_cn(btn8,30);
gt_btn_set_font_gray(btn8,4);
gt_btn_set_text(btn8,"泰文");
gt_btn_set_color_background(btn8,gt_color_hex(0xddeeff));
gt_btn_set_radius(btn8,8);
gt_obj_add_event_cb(btn8,btn8_0_cb,GT_EVENT_TYPE_INPUT_RELEASED,NULL);


//btn9
btn9=gt_btn_create(screen_home);
gt_obj_set_pos(btn9,494,240);
gt_obj_set_size(btn9,160,43);
gt_btn_set_font_color(btn9,gt_color_hex(0x000000));
gt_btn_set_font_size(btn9,24);
gt_btn_set_font_family_cn(btn9,80);
gt_btn_set_font_family_en(btn9,75);
gt_btn_set_font_align(btn9,GT_ALIGN_CENTER_MID);
gt_btn_set_space(btn9,0,0);
gt_btn_set_font_thick_en(btn9,30);
gt_btn_set_font_thick_cn(btn9,30);
gt_btn_set_font_gray(btn9,4);
gt_btn_set_text(btn9,"阿拉伯文");
gt_btn_set_color_background(btn9,gt_color_hex(0xddeeff));
gt_btn_set_radius(btn9,8);
gt_obj_add_event_cb(btn9,btn9_0_cb,GT_EVENT_TYPE_INPUT_RELEASED,NULL);


//btn10
btn10=gt_btn_create(screen_home);
gt_obj_set_pos(btn10,495,160);
gt_obj_set_size(btn10,160,43);
gt_btn_set_font_color(btn10,gt_color_hex(0x000000));
gt_btn_set_font_size(btn10,24);
gt_btn_set_font_family_cn(btn10,80);
gt_btn_set_font_family_en(btn10,60);
gt_btn_set_font_align(btn10,GT_ALIGN_CENTER_MID);
gt_btn_set_space(btn10,0,0);
gt_btn_set_font_thick_en(btn10,30);
gt_btn_set_font_thick_cn(btn10,30);
gt_btn_set_font_gray(btn10,4);
gt_btn_set_text(btn10,"韩文黑体");
gt_btn_set_color_background(btn10,gt_color_hex(0xddeeff));
gt_btn_set_radius(btn10,8);
gt_obj_add_event_cb(btn10,btn10_0_cb,GT_EVENT_TYPE_INPUT_RELEASED,NULL);


gt_disp_load_scr_anim(screen_home,GT_SCR_ANIM_TYPE_NONE,500,0,true);

}

幻灯片示例动画

#include"gt_ui.h"


//screen_home
gt_obj_st*screen_home=NULL;
staticgt_obj_st*lab1=NULL;
staticgt_obj_st*img1=NULL;
staticgt_obj_st*player1=NULL;
staticgt_obj_st*svg1=NULL;
staticgt_obj_st*svg2=NULL;

staticvoidsvg1_0_cb(gt_event_st*e){
gt_player_turn_prev(player1);
}

staticvoidsvg2_0_cb(gt_event_st*e){
gt_player_turn_next(player1);
}

voidgt_init_screen_home(void)
{
screen_home=gt_obj_create(NULL);
gt_screen_set_bgcolor(screen_home,gt_color_hex(0xFFFFFF));
//lab1
lab1=gt_label_create(screen_home);
gt_obj_set_pos(lab1,223,71);
gt_obj_set_size(lab1,96,51);
gt_label_set_font_color(lab1,gt_color_hex(0x6e6e6e));
gt_label_set_font_size(lab1,32);
gt_label_set_font_family_cn(lab1,19);
gt_label_set_font_align(lab1,GT_ALIGN_LEFT);
gt_label_set_text(lab1,"风速");
//img1
img1=gt_img_create(screen_home);
gt_obj_set_pos(img1,157,75);
gt_obj_set_size(img1,42,40);
gt_img_set_src(img1,"f:img_42x40_9.png");
//player1
player1=gt_player_create(screen_home);
gt_obj_set_pos(player1,153,136);
gt_obj_set_size(player1,161,66);
gt_player_add_item(player1,"f:img_161x66_4.png",sizeof("f:img_161x66_4.png"));
gt_player_add_item(player1,"f:img_161x66_5.png",sizeof("f:img_161x66_5.png"));
gt_player_add_item(player1,"f:img_161x66_6.png",sizeof("f:img_161x66_6.png"));
gt_player_add_item(player1,"f:img_161x66_7.png",sizeof("f:img_161x66_7.png"));
gt_player_add_item(player1,"f:img_161x66_8.png",sizeof("f:img_161x66_8.png"));
gt_player_set_type(player1,GT_PLAYER_TYPE_IMG);
gt_player_set_mode(player1,GT_PLAYER_MODE_LOOP);
/svg1
svg1=gt_img_create(screen_home);
gt_obj_set_pos(svg1,76,149);
gt_obj_set_size(svg1,48,48);
gt_img_set_src(svg1,"f:img_48x48_minus_0_3.png");
gt_obj_add_event_cb(svg1,svg1_0_cb,GT_EVENT_TYPE_INPUT_RELEASED,NULL);
//svg2
svg2=gt_img_create(screen_home);
gt_obj_set_pos(svg2,341,148);
gt_obj_set_size(svg2,48,48);
gt_img_set_src(svg2,"f:img_48x48_plus_0_4.png");
gt_obj_add_event_cb(svg2,svg2_0_cb,GT_EVENT_TYPE_INPUT_RELEASED,NULL);
gt_disp_load_scr_anim(screen_home,GT_SCR_ANIM_TYPE_NONE,500,0,true);

}

键盘控件示例动画

#include"gt_ui.h"


//screen_home
gt_obj_st*screen_home=NULL;
staticgt_obj_st*input1=NULL;
staticgt_obj_st*keyboard1=NULL;

voidgt_init_screen_home(void)
{
screen_home=gt_obj_create(NULL);
gt_screen_set_bgcolor(screen_home,gt_color_hex(0xFFFFFF));
//input1
input1=gt_input_create(screen_home);
gt_obj_set_pos(input1,117,38);
gt_obj_set_size(input1,249,84);
gt_input_set_font_color(input1,gt_color_hex(0x000000));
gt_input_set_font_size(input1,16);
gt_input_set_font_family_cn(input1,3);
gt_input_set_font_family_en(input1,39);
gt_input_set_font_align(input1,GT_ALIGN_LEFT);
gt_input_set_placeholder(input1,"placeholder");
gt_input_set_bg_color(input1,gt_color_hex(0xffffff));
//keyboard1
keyboard1=gt_keypad_create(screen_home);
gt_obj_set_pos(keyboard1,89,138);
gt_obj_set_size(keyboard1,309,170);
gt_keypad_set_font_color(keyboard1,gt_color_hex(0xffffff));
gt_keypad_set_font_size(keyboard1,16);
gt_keypad_set_font_align(keyboard1,GT_ALIGN_CENTER_MID);
gt_keypad_set_color_background(keyboard1,gt_color_hex(0x242424));
gt_keypad_set_target(keyboard1,input1);
gt_disp_load_scr_anim(screen_home,GT_SCR_ANIM_TYPE_NONE,500,0,true);

}

图片按钮控件示例动画

#include"gt_ui.h"


/**screen_home*/
gt_obj_st*screen_home=NULL;
staticgt_obj_st*imgbtn1=NULL;

voidgt_init_screen_home(void)
{
screen_home=gt_obj_create(NULL);
gt_screen_set_bgcolor(screen_home,gt_color_hex(0xFFFFFF));
/**imgbtn1*/
imgbtn1=gt_imgbtn_create(screen_home);
gt_obj_set_pos(imgbtn1,142,136);
gt_obj_set_size(imgbtn1,185,50);
gt_imgbtn_set_src(imgbtn1,"f:img_185x50_10.png");
gt_imgbtn_set_src_press(imgbtn1,"f:img_185x50_3.png");
gt_disp_load_scr_anim(screen_home,GT_SCR_ANIM_TYPE_NONE,500,0,true);

}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5082

    文章

    19123

    浏览量

    305110
  • 开源
    +关注

    关注

    3

    文章

    3345

    浏览量

    42492
  • GUI
    GUI
    +关注

    关注

    3

    文章

    660

    浏览量

    39670

原文标题:分享一款GUI开发神器

文章出处:【微信号:strongerHuang,微信公众号:strongerHuang】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    使用GUI Guider工具开发嵌入式GUI应用(2)

    GUI Guider本质上是个方便嵌入式开发者基于LVGL开发GUI应用的源码生成器工具,其作用是帮助
    的头像 发表于 08-16 14:36 3507次阅读
    使用<b class='flag-5'>GUI</b> Guider工具<b class='flag-5'>开发</b>嵌入式<b class='flag-5'>GUI</b>应用(2)

    图形界面开发工具GUI Guider的使用教程

    GUI Guider是NXP推出的一款功能强大且对用户非常友好的图形界面开发工具。目前最新版本是1.6.1。
    的头像 发表于 12-20 09:49 1.9w次阅读
    图形界面<b class='flag-5'>开发</b>工具<b class='flag-5'>GUI</b> Guider的使用教程

    共模电容:又一款EMC滤波神器?|深圳比创达电子(上)

    共模电容:又一款EMC滤波神器?(上)相信不少人是有疑问的,今天深圳市比创达电子科技有限公司就跟大家解答下! 传统共模滤波器的局限性通常我们讨论EMC问题中的噪声及干扰,多是共模噪声、共模干扰
    发表于 12-25 10:53

    开发一款车灯驱动神器

    最近公司开发一款车灯用的是 QX6103。QX6103是一款高精度降压型大功率LED恒流驱动芯片。适用于输入电压100V以内的大功率LED恒流驱动电源。专利的高端电流检测、固定频率、电流模PWM
    发表于 05-12 14:29

    【OK210申请】智能家电(厨房神器之帮厨机器人)开发

    申请理由:公司根据市场需求,将要开发一款叫帮厨机的机器,希望可以用这套开发板来开发。项目描述:帮厨机器人,之所以叫厨房神器,是因为它具有强大
    发表于 06-28 17:57

    分享一款2016好评如潮的diy设计神器

    `作为个学了两年室内设计专业的人,今天给大家发个福利说实话我专业学的并不是很好,但是我肯钻。平时也喜欢逛些学术类的贴吧william hill官网 。前两天无意在豆瓣上看到个非常牛逼的设计神器这款
    发表于 05-25 12:12

    如何开发一款自己的App

    毫无疑问,开发一款自己的App对于初学者来说,无论从技术学习,还是找工作(或者装x),都是大利器。那么如何才能快速上手,开发一款属于自己的
    发表于 12-17 06:10

    如何设计一款基于STM32的多功能GUI威廉希尔官方网站

    设计了一款基于STM32的多功能GUI设计,功能包括:MP3/WMA/WAV/MIDI音频文件播放器、JPEG/JPG/BMP图片浏览、闹钟、万年历、书、温度计、计算器、功率放大等。整个系统主要
    发表于 02-15 06:39

    我们该选择哪一款IDE开发STM32 ?

    我们该选择哪一款IDE开发STM32?
    的头像 发表于 03-12 13:58 5989次阅读
    我们该选择哪<b class='flag-5'>一款</b>IDE<b class='flag-5'>开发</b>STM32 ?

    介绍一款关于自拍神器器的单片机MCU解决方案

    好几样自拍神器的回忆,神器迭代的速度在加快,不变的是每代自拍神器都会被每代年轻人奉为潮的
    发表于 12-07 15:18 812次阅读

    功能更加强大的GUI神器

    关于pandas的GUI工具,我之前介绍过pandasgui。可以说,有了GUI可视化界面,操作就和Excel样简单,本次再介绍一款功能更加强大的
    的头像 发表于 11-22 10:21 1358次阅读

    共模电容:又一款EMC滤波神器

    共模电容:又一款EMC滤波神器?|深圳比创达电子(上)
    的头像 发表于 12-25 10:54 743次阅读
    共模电容:又<b class='flag-5'>一款</b>EMC滤波<b class='flag-5'>神器</b>?

    介绍一款基于java的渗透测试神器-CobaltStrike

    Cobalt Strike是一款基于java的渗透测试神器,常被业界人称为CS神器
    的头像 发表于 01-16 09:16 986次阅读
    介绍<b class='flag-5'>一款</b>基于java的渗透测试<b class='flag-5'>神器</b>-CobaltStrike

    GUI Guider新版本发布,嵌入式GUI开发体验升级

    作为恩智浦着力打造的一款嵌入式人机交互应用开发工具,GUI Guider又迎来了个新版本!最新发布的GUI Guider v1.7.1增加
    发表于 03-29 09:47 1684次阅读
    <b class='flag-5'>GUI</b> Guider新版本发布,嵌入式<b class='flag-5'>GUI</b><b class='flag-5'>开发</b>体验升级

    树莓派gui开发用什么ide

    树莓派(Raspberry Pi)是一款功能强大的微型计算机,可以运行多种操作系统,如Raspbian、Ubuntu等。在树莓派上进行GUI(图形用户界面)开发,可以使用多种集成开发
    的头像 发表于 08-30 16:49 877次阅读