用
gtktreeview
實現listbox示例
前段時間花了不少時間去研究
gtk+
的架構,但沒有怎麼關注具體控制項的使用。大部控制項都有示例**,相信使用不會很難。今天要測試一下用
gtktreeview
實現listbox
,發現沒有
gtktreeview
的示例**,
gtk+
的tutorial
裡也沒有講解。只好自己折騰,結果花了兩個小時才搞定,寫段**做個備忘吧。
gtkwidget*
create_window1
(void
)
;
inti
= 0 ;
intn
= 100;
window1
= gtk_window_new (gtk_window_toplevel);
gtk_window_set_title (gtk_window (
window1
), _(
"window1"
));
scrolledwindow1
= gtk_scrolled_window_new (
null
, null
);
gtk_widget_show (
scrolledwindow1
);
gtk_container_add (gtk_container (
window1
), scrolledwindow1
);
gtk_scrolled_window_set_shadow_type (gtk_scrolled_window (
scrolledwindow1
), gtk_shadow_in);
treeview1
= gtk_tree_view_new ();
column
= gtk_tree_view_column_new();
treeview1
), column
);
cell
= gtk_cell_renderer_text_new();
gtk_tree_view_column_pack_start(
column
, cell
, true
);
gtk_tree_view_column_set_attributes(
column
, cell
, "text"
, 0,
null
);
column
= gtk_tree_view_column_new();
treeview1
), column
);
store
= gtk_list_store_new(1, g_type_string);
gtk_tree_view_set_model(
treeview1
, gtk_tree_model(
store
));
for(i
= 0;
i< n;
i++)
gtk_widget_show (
treeview1
);
gtk_container_add (gtk_container (
scrolledwindow1
), treeview1
);
/* store pointers to all widgets, for use by lookup_widget(). */
glade_hookup_object_no_ref (
window1
, window1
, "window1"
);
glade_hookup_object (
window1
, scrolledwindow1
, "scrolledwindow1"
);
glade_hookup_object (
window1
, treeview1
, "treeview1"
);
return
window1
; }
2006-11-12
補充:得到選中項的內容:
void
on_button1_clicked(gpointer user_data, gtkbutton*button)
;
gtktreeiter
iter
= ;
gtktreestore*
store
= null
;
gtktreeselection* selection =
null
;
gtktreeview* treeview=
null
;
treeview = (gtktreeview*)lookup_widget(gtk_widget(user_data),
"treeview1"
);
selection = gtk_tree_view_get_selection(treeview);
gtk_tree_selection_get_selected(selection, (gtktreemodel**)&
store
, &iter
);
gtk_tree_model_get_value(gtk_tree_model(
store
), &
iter
, 0, &
value
);
g_debug(
"%s/n"
, g_value_get_string(&
value
));
return
; }
~~end~~
用per實現l自動傳送郵件
最近在做自動化測試環境的自動部署,其他都很順利,但是同事反應說我們並不知道你是否安裝成功,而且也不知道你安裝的最新版本是什麼,不是很方便,所以我就想試著用perl來寫乙個自動傳送郵件的指令碼,但最新的build安裝成功的時候,則發一封郵件通知測試人員,這樣就全程自動化了。哈哈,底下是本人的實現。主要...
T vs L 到底用誰?L!
一直沒有注意這個,今天突然糾結起來這個問題,寫多了,難免這兩個混用。現在是時候有個結論了 如果你的工程是unicode編譯,那麼請明確的使用l!如果是多位元組 ansi 那麼請使用 t 或者更為直接的使用 t 根據編譯環境自動選擇使用char還是wchar,但是往往你並不需要切換編譯環境,即使你切換...
用verilog實現L293D 驅動板介面
課程實驗做了乙個藍芽智慧型小車,nexys4開發板,mipsfpga 乙個在 fpga 上實現的商業 mips 處理器軟核,imagination technologies公司提供給高校免費使用 再加上vivado裡面的一些ip核,搭了乙個簡單的處理器系統。要用這玩意來接用了l293d 驅動板的小車...