還是接著上面的一篇博文。之前曾經答應過大家,讓大家看一下最簡單的ftk程式是怎麼執行的。所以,這裡我們上傳一下。
label,顧名思義,就是乙個標籤。更直白一點,就是在視窗上某個地點顯示一串文字。當然,你可以根據自己的需要靈活修改文字的型別、大小、顏色、背景等資訊,總之就是這麼個意思。閒話少說,我們可以看看demo下label**是怎麼編寫的。同樣,今天只會展示**的內容,具體顯示的效果還要等待下面一篇文章。
#include "ftk.h"
typedef struct _timerinfo
timerinfo;
static ret timeout(void* ctx)
; if(info->times > 0)
else }
int main(int argc, char* argv)
; timerinfo info = ;
ftk_init(argc, argv);
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篇)
還是接著上面的一篇博文。由於還是編輯模式。所以臨時還不能看到在網頁中是怎麼顯示的。include ftk.h typedef struct timerinfo timerinfo static ret timeout void ctx if info times 0 else int main in...
ftk學習記(icon篇)
在開始今天的文章之前,我們還是先看一下上一節的效果圖。大家可以參照上一節的講解,是不是存在這樣的button,是不是存在這樣的wait box控制項,同樣是不是可以看到wait box活動的情形。當然,有條件的朋友最好自己編譯一下這個demo 按步驟除錯每一行 今天,如標題所示,我們所學習的是ico...
ftk學習記(list篇)
在開始今天的list主題之前,先看一下icon的執行效果。今天說的list其實和這個icon差不多。大家只需要把這些icon想像成一條一條的item就可以了。同樣,list的demo 中也會有乙個more的button,每次單擊一下,就會增加幾個item。閒話不多說,先看一下demo 是怎麼樣的。i...