用AWTK写一个获取图片并在图片下方显示图片名字的代码
时间: 2024-06-11 07:08:06 浏览: 99
获取图片的文字
以下是使用AWTK编写的获取图片并在图片下方显示图片名称的示例代码:
```
#include "awtk.h"
static ret_t on_open_file(void* ctx, const char* filename) {
widget_t* win = (widget_t*)ctx;
widget_t* image = widget_lookup(win, "image", TRUE);
widget_t* label = widget_lookup(win, "label", TRUE);
/* 设置图片 */
image_set_image_from_file(image, filename);
/* 显示图片名称 */
widget_set_text_utf8(label, filename);
return RET_OK;
}
static ret_t on_open_button_click(void* ctx, event_t* evt) {
widget_t* win = widget_get_window(ctx);
file_dialog_open(win, "选择图片", "image/*", on_open_file, win);
return RET_OK;
}
int main(int argc, char* argv[]) {
widget_t* win = NULL;
widget_t* box = NULL;
widget_t* image = NULL;
widget_t* label = NULL;
widget_t* button = NULL;
/* 初始化 */
if (awtk_init(argc, argv) != RET_OK) {
return -1;
}
/* 创建窗口 */
win = window_create(NULL, 0, 0, 0, 0);
widget_set_text_utf8(win, "AWTK获取图片并显示名称示例");
/* 创建垂直布局 */
box = vbox_create(win, 0, 0, 0, 0);
/* 创建图片控件 */
image = image_create(box, 0, 0, 0, 0);
widget_set_name(image, "image");
widget_set_layout_params(image, "align=center");
/* 创建标签控件 */
label = label_create(box, 0, 0, 0, 0);
widget_set_name(label, "label");
widget_set_text_utf8(label, "请选择图片文件");
widget_set_layout_params(label, "align=center");
/* 创建按钮控件 */
button = button_create(box, 0, 0, 0, 0);
widget_set_text_utf8(button, "选择图片");
widget_set_layout_params(button, "align=center");
/* 绑定按钮点击事件 */
widget_on(button, EVT_CLICK, on_open_button_click, button);
/* 设置窗口大小 */
widget_resize(win, 480, 640);
/* 显示窗口 */
widget_set_child(win, box);
widget_set_visible(win, TRUE);
/* 运行主循环 */
awtk_main();
/* 退出 */
awtk_quit();
return 0;
}
```
此示例程序创建了一个窗口,其中包含一个显示图片的控件、一个显示图片名称的标签控件和一个打开文件对话框的按钮控件。单击按钮控件将打开文件对话框,选择图片文件后,程序将在图片控件中显示图片,并在标签控件中显示图片名称。
阅读全文