之前學了一點QT屬C++,最近想學GTK加C和C++,在網路上找到Anjuta這個IDE,感覺還行,亂玩一下,大概知道了一些,在BLOG做一下筆記了
用Anjuta先建立一個GTK project,建立GTK圖形界面,選Files,會有一個副檔名ui,按右鍵,如圖,選GLADE界面程式設計,右邊會出現GTK視窗
選Palette,就會出現各種ui,用點取,加入右邊FRAME,這樣很簡單,設計出GTK視窗,再來更改個元件屬性,或加ACTION,點右邊FRAME的元件,左邊就會出現相對應Widgets
選一般可更改一些屬性,如圖改了按鈕名稱
再來替按鈕加ACTION,選訊號,clicked選項(ACTION),處理器敲入要處理的method,使用者資訊,選要處理的對象widget,因為我要點按鈕,就會改LABEL的名稱,所以使用者資訊選label1
對clkicked連點2下,便會自動跳到處理器method(如圖)
還記得上面使用者資訊,選label1,程式就會幫我們在method中,加入OBJ,讓method可以取得(如下),不然你就要自己加,浪費時間
GObject *label1 = G_OBJECT (user_data);
再來設定label1的text
gtk_label_set_text ( label1,"我是案鈕2");
這樣用Anjuta簡單設計了一個GTK的小程式了
更新
可以用拖曳方式,更改widget位置,大小,Palette選第2項(移動符號)如圖
void
SHOW_TEXT2 (GtkButton *button, gpointer user_data)
{
/*取得label1 OBJ*/
GObject *label1 = G_OBJECT (user_data);
change_label_text(label1,button);
}
自加了change_label_text這個methot,呼叫change_label_text(label1,button);把label1和button分別傳給了label和button變數
void
change_label_text(label,button)
{
char st1[30]="你按了";
char *st2;
/*取得BUTTON label*/
st2 =gtk_button_get_label (button);
/*st1,st2字串相加*/
strcat(st1,st2);
/*重設LABEL text*/
gtk_label_set_text ( label,st1);
}
2015年1月14日 星期三
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言