高通字库
版本 V2.0 · 更新于 2026-05-25

5.1 分组控件

  在创建的屏幕控件中添加一个分组控件。分组组件为逻辑抽象控件,并不会在屏幕上有显示效果,无需更改样式属性。通常与单选框、复选框组合使用。

API 参考:

函数说明默认值
gt_group_create(parent)创建分组控件
gt_group_get_active_obj(group, type)获取组内选中/活跃的子对象
gt_group_reset_selected_state(group, type)重置组内第一个对象为活跃状态
gt_group_set_resized(group, is_resized)允许调整组内子对象大小false
/* group1 */
// 在 screen_home 屏幕控件中创建一个分组控件
group1 = gt_group_create(screen_home);

5.2 单选框控件

  在创建的分组 1 控件中添加一个单选框控件并设置单选框控件属性。

API 参考:

函数说明默认值
gt_radio_create(parent)创建单选框控件
gt_radio_set_selected(radio)设为选中状态
gt_radio_set_text(radio, "fmt", ...)设置文本
gt_radio_set_font_color(radio, color)设置字体颜色
gt_radio_set_font_size(radio, size)设置字体大小(pt)
gt_radio_set_font_align(radio, align)对齐方式:见 枚举速查表 gt_align_et
gt_radio_set_font_family_cn/en(radio, id)设置字体系列(中文/英文)
gt_radio_set_font_style(radio, style)字体风格:见 枚举速查表 gt_font_style_etNORMAL
gt_radio_set_selected_color(radio, color)设置选中色
gt_radio_set_font_point_offset(radio, x, y)设置文字与选择点的偏移
/* radio1 */
// 在创建的分组 1 控件中创建一个单选框控件
radio1 = gt_radio_create(group1);
// 设置单选框控件位置为 (83, 155)
gt_obj_set_pos(radio1, 83, 155);
// 设置单选控件的尺寸为(宽度 60 高度 24)
gt_obj_set_size(radio1, 60, 24);
// 设置单选框控件字体颜色为 0x000000 黑色
gt_radio_set_font_color(radio1, gt_color_hex(0x000000));
// 设置单选框控件显示的字体尺寸为 16 点
gt_radio_set_font_size(radio1, 16);
// 设置对齐方式为左对齐
gt_radio_set_font_align(radio1, GT_ALIGN_LEFT);
// 设置单选框控件文本为 "one"
gt_radio_set_text(radio1, "one");
// 设置单选框状态为选中状态
gt_radio_set_selected(radio1);

5.3 复选框控件

  在创建的分组 2 中添加一个复选框控件并设置复选框控件属性。

API 参考:

函数说明默认值
gt_checkbox_create(parent)创建复选框控件
gt_checkbox_set_text(checkbox, "fmt", ...)设置文本
char * gt_checkbox_get_text(checkbox)获取文本
gt_checkbox_set_font_color(checkbox, color)设置字体颜色
gt_checkbox_set_font_size(checkbox, size)设置字体大小(pt)
gt_checkbox_set_font_family_cn/en(checkbox, id)设置字体系列(中文/英文)
gt_checkbox_set_font_style(checkbox, style)字体风格:见 枚举速查表 gt_font_style_etNORMAL
gt_checkbox_set_font_point_offset(checkbox, x, y)设置文字与选择框的偏移
gt_checkbox_set_space(checkbox, space_x, space_y)设置字间距0, 0

复选框的状态切换通过基类 API gt_obj_set_state() 控制。

/* cbox1 */
// 在创建的分组 2 控件中创建一个复选框控件
cbox1 = gt_checkbox_create(group2);
// 设置复选框位置为 (218, 164)
gt_obj_set_pos(cbox1, 218, 164);
// 设置复选框控件的尺寸为(宽度 84 高度 24)
gt_obj_set_size(cbox1, 84, 24);
// 设置复选框控件字体颜色为 0x000000 黑色
gt_checkbox_set_font_color(cbox1, gt_color_hex(0x000000));
// 设置复选框控件显示的字体尺寸为 16 点
gt_checkbox_set_font_size(cbox1, 16);
// 设置对齐方式为左对齐
gt_checkbox_set_font_align(cbox1, GT_ALIGN_LEFT);
// 设置复选框控件文本为 "A"
gt_checkbox_set_text(cbox1, "A");
// 设置复选框状态为未选中状态
gt_obj_set_state(cbox1, 0);

  下图为添加两个单选框到分组 1,两个复选框到分组 2 的运行效果。

图2-15 单选框与复选框控件效果

图2-15 单选框与复选框控件效果

5.4 进度条控件

  在创建的屏幕控件中添加一个进度条控件并设置进度条控件属性。

API 参考:

函数说明默认值
gt_progress_bar_create(parent)创建进度条控件
gt_progress_bar_set_start_end(bar, start, end)设置起止范围
gt_progress_bar_set_pos(bar, pos)设置当前进度值
gt_progress_bar_get_pos(bar)获取当前进度值
gt_progress_bar_set_color_act(bar, color)设置活跃颜色
gt_progress_bar_set_color_ina(bar, color)设置不活跃颜色
gt_progress_bar_set_dir(bar, dir)设置方向:见 枚举速查表 gt_bar_dir_et
/* bar1 */
// 在 screen_home 屏幕控件中创建一个进度条控件
bar1 = gt_progress_bar_create(screen_home);
// 设置进度条的位置为 (100, 80)
gt_obj_set_pos(bar1, 100, 80);
// 设置进度条的尺寸为(宽度 200 高度 30)
gt_obj_set_size(bar1, 200, 30);
// 设置进度条的起始值为 -20 结束值为 180
gt_progress_bar_set_start_end(bar1, -20, 180);
// 设置进度条的当前值为 30
gt_progress_bar_set_pos(bar1, 30);
// 设置进度条的活跃颜色为 0x00ff00 的绿色
gt_progress_bar_set_color_act(bar1, gt_color_hex(0x00ff00));
// 设置进度条的不活跃颜色为 0x808080 的灰色
gt_progress_bar_set_color_ina(bar1, gt_color_hex(0x808080));
// 设置进度条的方向为从左到右
gt_progress_bar_set_dir(bar1, GT_BAR_DIR_HOR_L2R);

  运行后的进度条控件效果如下图所示。

图2-16 进度条控件效果

图2-16 进度条控件效果

5.5 滑动条控件

  在创建的屏幕控件中添加一个滑动条控件并设置滑动条控件属性。

API 参考:

函数说明默认值
gt_slider_create(parent)创建滑动条控件
gt_slider_set_start_end(slider, start, end)设置起止范围
gt_slider_set_pos(slider, pos)设置当前值
gt_slider_get_pos(slider)获取当前值
gt_slider_set_color_act(slider, color)设置活跃颜色
gt_slider_set_color_ina(slider, color)设置不活跃颜色
gt_slider_set_color_tag(slider, color)设置刻度点颜色
gt_slider_set_dir(slider, dir)设置方向:见 枚举速查表 gt_bar_dir_et
gt_slider_set_step(slider, step)设置步进值
gt_slider_set_tag(slider, "src")设置刻度点图片
gt_slider_set_tag_visible(slider, visible)刻度点可见
gt_slider_set_tag_size(slider, size)刻度点大小
gt_slider_set_tag_inside(slider, inside)刻度点在轨道内部false
gt_slider_set_thickness(slider, thickness)设置长条宽度(像素)
gt_slider_set_mode(slider, mode)设置模式:GT_SLIDER_MODE_DEFAULT / STEPDEFAULT
gt_slider_set_pos_range(slider, min, max)设置滑块位置限制范围
gt_slider_set_touch_mode(slider, touch_mode)设置触摸模式,true=仅滑动生效
/** slider1 */
// 在 screen_home 屏幕控件中创建一个滑动条控件
slider1 = gt_slider_create(screen_home);
// 设置滑动条的位置为(120, 130)
gt_obj_set_pos(slider1, 120, 130);
// 设置滑动条的尺寸为(宽度 236 高度 40)
gt_obj_set_size(slider1, 236, 40);
// 设置滑动条的起始值为 0,结束值为 100
gt_slider_set_start_end(slider1, 0, 100);
// 设置滑动条的当前值为 50
gt_slider_set_pos(slider1, 50);
// 设置滑动条的活跃颜色为 0x409eff 蓝色
gt_slider_set_color_act(slider1, gt_color_hex(0x409eff));
// 设置滑动条的不活跃颜色为 0xebeef5 浅灰色
gt_slider_set_color_ina(slider1, gt_color_hex(0xebeef5));
// 设置滑动条的刻度点可见
gt_slider_set_tag_visible(slider1, 1);
// 设置滑动条的滑动方向为从左到右
gt_slider_set_dir(slider1, GT_BAR_DIR_HOR_L2R);
// 设置滑动条的长条宽度为 20
gt_slider_set_thickness(slider1, 20);
// 设置滑动条的刻度点大小为 40
gt_slider_set_tag_size(slider1, 40);

  运行后的滑动条控件效果如下图所示,可以拖动设置滑动条的值。

图2-17 滑动条控件效果

图2-17 滑动条控件效果

5.6 列表控件

  在创建的屏幕控件中添加一个列表控件并设置列表控件属性。

API 参考:

函数说明默认值
gt_listview_create(parent)创建列表控件
gt_listview_add_item(listview, "text")添加纯文本项
gt_listview_add_item_icon(listview, "img", "text")添加图标+文本项
gt_listview_add_item_icons(listview, left_img, "text", right_img)添加左图标+文本+右图标项
gt_listview_set_item_height(listview, height)设置每项高度(⚠ 添加项之前设置)
gt_listview_set_next_row_item_count(listview, count)设置下一行每行列数1
gt_listview_set_scale(listview, icon, label)设置图标+文本比例25, 75
gt_listview_set_scale_triple(listview, left, center, right)设置三区比例20, 60, 20
gt_listview_set_font_color(listview, color)设置字体颜色
gt_listview_set_font_size(listview, size)设置字体大小(pt)
gt_listview_set_font_align(listview, align)对齐方式:见 枚举速查表 gt_align_et
gt_listview_set_bg_color(listview, color)设置背景颜色
gt_listview_set_item_bg_color(listview, color)设置每项背景颜色
gt_listview_show_item_bg(listview, show)显示每项背景false
gt_listview_set_item_reduce(listview, reduce)设置每项缩减区域2
gt_listview_set_item_radius(listview, radius)设置每项圆角半径10
gt_listview_set_border_color(listview, color)设置边框颜色
gt_listview_set_border_width(listview, width)设置边框宽度
gt_listview_set_septal_line(listview, enabled)显示项分割线true
gt_listview_set_selected_effect(listview, enabled)启用选中效果true
gt_listview_set_highlight_mode(listview, enabled)选中项高亮模式
gt_listview_set_multiple(listview, enabled)多选模式false
gt_listview_set_horizontal(listview, enabled)水平滑动模式(⚠ 添加项之前设置)false
gt_listview_set_item_width(listview, width)水平模式下每项宽度(⚠ 添加项之前设置)
gt_listview_del_item(listview, item_idx)删除指定项
gt_listview_clear_all_items(listview)清除所有项
/** listv1 */
// 在 screen_home 屏幕控件中创建一个列表控件
listv1 = gt_listview_create(screen_home);
// 设置列表的位置为(180, 180)
gt_obj_set_pos(listv1, 180, 180);
// 设置列表的尺寸为(宽度 120 高度 100)
gt_obj_set_size(listv1, 120, 100);
// 设置列表字体颜色为 0x000000 黑色
gt_listview_set_font_color(listv1, gt_color_hex(0x000000));
// 设置列表字体尺寸为 16 点
gt_listview_set_font_size(listv1, 16);
// 设置列表对齐方式为居中对齐
gt_listview_set_font_align(listv1, GT_ALIGN_CENTER_MID);
// 设置列表每项高度为 24
gt_listview_set_item_height(listv1, 24);
// 设置列表边框颜色为 0xc7c7c7 灰色
gt_listview_set_border_color(listv1, gt_color_hex(0xc7c7c7));
// 设置列表边框宽度为 2
gt_listview_set_border_width(listv1, 2);
// 设置列表每项分割线
gt_listview_set_septal_line(listv1, 1);
// 设置列表选中高亮模式
gt_listview_set_highlight_mode(listv1, 1);
// 设置列表背景颜色为 0xffffff 白色
gt_listview_set_bg_color(listv1, gt_color_hex(0xffffff));
// 设置列表每项背景颜色为 0xffffff 白色
gt_listview_set_item_bg_color(listv1, gt_color_hex(0xffffff));
// 设置列表显示每项背景颜色
gt_listview_show_item_bg(listv1, true);
// 设置列表每项内边距为 2
gt_listview_set_item_reduce(listv1, 2);
// 设置列表每项边框半径为 10
gt_listview_set_item_radius(listv1, 10);
// 设置列表中单图标样式比例为文本 80:图标 20
gt_listview_set_scale(listv1, 20, 80);
// 设置列表中单图标样式比例为左图标:20 文本 60:右图标 20
gt_listview_set_scale_triple(listv1, 20, 60, 20);
// 设置列表一行显示列数为单列
gt_listview_set_next_row_item_count(listv1, 1);
// 设置列表第一行图标 1.png,文本为 hello
gt_listview_add_item_icon(listv1, ".:1.png", "hello");
// 设置列表第二行左图标 2.png,文本为 hi,右图标为 3.png
gt_listview_add_item_icons(listv1, ".:2.png", "hi", ".:3.png");
// 设置列表第三行文本为 HMI
gt_listview_add_item(listv1, "HMI");
// 设置列表一行显示列数为双列
gt_listview_set_next_row_item_count(listv1, 2);
// 设置列表第四行左文本为 test,右文本为 GT
gt_listview_add_item(listv1, "test");
gt_listview_add_item(listv1, "GT");

  运行后的列表控件效果如下图所示:

图2-18 列表控件效果

图2-18 列表控件效果

5.7 滚轮控件

  在创建的屏幕控件中添加一个滚轮控件并设置滚轮控件属性。

API 参考:

函数说明默认值
gt_roller_create(parent)创建滚轮控件
gt_roller_set_options(obj, "A\nB\nC", mode)设置选项内容(\n 分隔),最大 256 项。mode:GT_ROLLER_MODE_NORMAL / INFINITENORMAL
gt_roller_set_display_item_count(obj, count)设置可视项数量3
gt_roller_set_selected(obj, index)设置当前选中项索引(0 起始)
gt_roller_get_selected(obj)获取当前选中项索引,-1=失败
gt_roller_set_select_bgcolor(obj, color)设置选中项背景颜色0x00a8ff
gt_roller_set_font_color(obj, color)设置字体颜色
gt_roller_set_font_size(obj, size)设置字体大小(pt)
gt_roller_set_font_align(obj, align)对齐方式:见 枚举速查表 gt_align_et
gt_roller_set_line_space(obj, space)设置行间距
gt_roller_go_prev(obj)上一项(返回新索引)
gt_roller_go_next(obj)下一项(返回新索引)
gt_roller_hide_background(obj, hide)隐藏背景false
// 在 screen_home 屏幕控件中创建一个滚轮控件
roller1 = gt_roller_create(screen_home);
// 设置矩形的位置为 (184, 85)
gt_obj_set_pos(roller1, 184, 85);
// 设置滚轮的尺寸为(宽度 100 高度 100)
gt_obj_set_size(roller1, 100, 100);
// 设置滚轮的字体颜色为黑色
gt_roller_set_font_color(roller1, gt_color_hex(0x000000));
// 设置字体的大小为 16
gt_roller_set_font_size(roller1, 16);
// 设置对齐方式为居中对齐
gt_roller_set_font_align(roller1, GT_ALIGN_CENTER_MID);
// 设置滚轮显示元素数量
gt_roller_set_display_item_count(roller1, 3);
// 设置滚轮选项
gt_roller_set_options(roller1, "1\n2\n3\n4\n5\n6\n7\n8",
    GT_ROLLER_MODE_NORMAL);
// 设置滚轮元素行间距
gt_roller_set_line_space(roller1, 17);
// 设置滚轮当前选中第几项
gt_roller_set_selected(roller1, 1);

  运行后的滚轮控件效果如下图所示:

图2-19 滚轮控件效果

图2-19 滚轮控件效果