2013-03-30 151 views
1

我正在尋找一個可以動態調整大小的小部件。我需要追加和刪除行。 沒有與電網的到來,像gtk_grid_insert_rowgtk_grid_insert_next_to一個方法,但我沒有找到任何xxx_remove_xxx方法。如何動態插入和刪除行

我正在開發一個簡單的http客戶端(測試api)。我添加了動態追加和刪除「GET」變量的可能性。

用戶界面由包含組合框(用於變量選擇),條目(爲其值)和最後一行中的刪除按鈕組成。

每當我設置一個變量,一個新行(新的可用變量)被追加。 每次我取消設置變量時,相應的行將被刪除。

enter image description here

感謝。

回答

0

Gtk.Grid沒有remove方法;但是Gtk.Container的確如此。由於Grid是一個容器,因此可以使用gtk_container_remove。

這種情況的文檔是在這裏: https://developer.gnome.org/gtk3/3.8/GtkContainer.html#gtk-container-remove

+0

thx爲答案,但gtk_container_remove刪除GtkWidget,它是我需要刪除的整個網格行。每次添加新行時,我都必須調用insert_row以確保網格中有足夠的行。我不確定如果一行是空的,它將被刪除。 –

+0

在這種情況下,編寫一個「行小工具」並將其中的多個文件打包到HBox中可能更好?這樣你可以使用一個指針來刪除/添加。 – Ancurio

0

我認爲你正在尋找的小部件是Gtk.ListBox。這是一個容器,所以你可以輕鬆地將addremove行。

+0

我做了一個小工具,將一個Gtk.Box(表示該行)擴展爲一個垂直的Gtk.Box,它可以工作。 Gtk.ListBox似乎很棒,但我在未來的更新中使用gtk3.8(ListBox需要3.9)。謝謝。 –

+0

你的鏈接已經死了。 – ale10ander

+1

@Cptn_Hammer我剛剛修復:)現在他們應該工作! – chavaone