2012-09-25 49 views
1

我想從下面的代碼對話框的項目獲取text屬性:如何訪問子對象屬性?

GtkWidget *dialog, *entry; 
gchar  *text; 

entry = gtk_entry_new(); 

dialog = create_dialog(); 

... 

gtk_container_child_get(GTK_CONTAINER(dialog), entry, "text", text, NULL); 

和我得到以下幾點:

(textview:3079): Gtk-WARNING **: /build/buildd/gtk+3.0-3.4.2/./gtk/gtkcontainer.c:919: container class `GtkDialog' has no child property named `text' 

對話框包含一個標籤,有兩個按鈕的條目。

+0

爲什麼不簡單地使用gtk_entry_get_text(GTK_ENTRY(entry))? –

回答

1

你誤解了什麼gtk_container_child_get做什麼。它不返回一個孩子的財產,但它返回所謂的孩子財產。這些屬性不僅與父母或孩子有關,而與他們的關係有關。

"text"是不是這樣一個屬性。你應該像Szilárd所建議的那樣使用gtk_entry_get_text