2016-02-23 43 views
1

如果你在列表框中添加項目,你可以用list_box.insert()來完成。現在有一個項目,你可以選擇它。對於我的例子它的一個條目(文本框)。但現在我想按一個按鈕,並給我輸入的價值。我在list_box的引用或list_box_row中找不到任何函數來返回任何兼容對象。 我試過這樣的東西:如何獲得gtklistboxrow的孩子?

gtk_entry_get_text(GTK_ENTRY(gtk_list_box_get_selected_row(GTK_LIST_BOX(listbox)))); //listbox is a variable of typ GtkWidget and contains the listbox in 

但它不工作。任何人都有解決方案嗎?我的意思是,如果你不能使用所選的東西,那麼考慮一個列表框會有點無用。

回答

2

GtkListBoxRow是一個GtkContainer。具體來說(單個項目)GtkBin: https://developer.gnome.org/gtk3/stable/GtkListBox.html#GtkListBoxRow

所以,你應該能夠調用

gtk_bin_get_child(GTK_BIN(listboxrow))

。請注意,GtkListBoxRow只能有一個孩子,雖然GtkListBox能有多個GtkListBoxRows。

+0

這是正確的答案。謝謝。但列表框是我的list_box。因此,對於所有將閱讀此內容的人來說,獲得它的正確調用是:gtk_bin_get_child(GTK_BIN(gtk_list_box_get_selected_row(GTK_LIST_BOX(listbox)))); – missjohanna

+0

謝謝。我在我的答案中做了一個小的編輯,將listbox更改爲listboxrow。 – murrayc