ftk學習記(label篇)

2021-09-08 12:52:30 字數 2024 閱讀 2452

還是接著上面的一篇博文。

由於還是編輯模式。所以臨時還不能看到在網頁中是怎麼顯示的。

#include "ftk.h"

typedef struct _timerinfo

timerinfo;

static ret timeout(void* ctx)

; if(info->times > 0)

else }

int main(int argc, char* ar**)

; timerinfo info = ;

ftk_init(argc, ar**);

ftksource* timer = ftk_source_timer_create(1000, timeout, &info);

width = ftk_widget_width(win);

height = ftk_widget_height(win);

ftkwidget* label = ftk_label_create(win, 10, 10, width - 20, 20);

ftk_widget_set_text(label, "中文文字");

label = ftk_label_create(win, 10, 40, width - 20, 20);

ftk_widget_set_text(label, "english text");

assert(strcmp(ftk_widget_get_text(label), "english text") == 0);

gc.bg.a = 0xff;

gc.bg.r = 0xf0;

gc.bg.g = 0xf0;

gc.bg.b = 0x80;

label = ftk_label_create(win, 10, height/2, width - 20, 120);

ftk_widget_set_gc(label, ftk_widget_insensitive, &gc);

ftk_widget_unset_attr(label, ftk_attr_transparent);

ftk_widget_set_text(label, "中英文混合多行文字顯示:the linux mobile development.帶有背景顏色。");

label = ftk_label_create(win, 50, height/2-30, width, 20);

info.label = label;

ftk_widget_set_text(win, "label demo");

ftk_widget_show_all(win, 1);

ftk_widget_set_attr(win, ftk_attr_ignore_close);

ftk_main_loop_add_source(ftk_default_main_loop(), timer);

ftk_run();

return 0;

}

**的內容,不是非常多,大約有個70行左右。

開始,相同首先初始化ftk,呼叫了ftk_init函式。在函式結尾的地方,**也呼叫了ftk_run函式。

這些都是**的基本流程。僅僅要你是用的是ftk。都須要遵守這個流程。中間的內容都是自己加入的。

繼續分析,我們觀察一下,**都做了些什麼。細細想來,事實上邏輯都差點兒相同。依次往下看,**建立了乙個win控制項,進而在win上插入了4個label控制項。它們各自是中文文字、english text、中英文混合多行文字顯示、暫時label。

除此之外,**中還出現了乙個timer,每隔一段時間,它都會呼叫timeout這個函式。這個函式做了什麼啊,從10行開始往下看。事實上就是定時顯示一段文字。告訴我們窗體離quit還有幾秒。假設超時了呢,當然就會呼叫ftk_quit這個函式,ftk在釋放完一些資源後就結束了。

這個流程不複雜。還沒有搞清楚的朋友能夠繼續看一下**。下次,再發布**的執行效果。

ftk學習記(label篇)

還是接著上面的一篇博文。之前曾經答應過大家,讓大家看一下最簡單的ftk程式是怎麼執行的。所以,這裡我們上傳一下。label,顧名思義,就是乙個標籤。更直白一點,就是在視窗上某個地點顯示一串文字。當然,你可以根據自己的需要靈活修改文字的型別 大小 顏色 背景等資訊,總之就是這麼個意思。閒話少說,我們可...

ftk學習記(icon篇)

在開始今天的文章之前,我們還是先看一下上一節的效果圖。大家可以參照上一節的講解,是不是存在這樣的button,是不是存在這樣的wait box控制項,同樣是不是可以看到wait box活動的情形。當然,有條件的朋友最好自己編譯一下這個demo 按步驟除錯每一行 今天,如標題所示,我們所學習的是ico...

ftk學習記(list篇)

在開始今天的list主題之前,先看一下icon的執行效果。今天說的list其實和這個icon差不多。大家只需要把這些icon想像成一條一條的item就可以了。同樣,list的demo 中也會有乙個more的button,每次單擊一下,就會增加幾個item。閒話不多說,先看一下demo 是怎麼樣的。i...