Вам нужно получить GtkTreeIter
в нужную строку, а затем использовать соответствующий (специфичный для модели) установщик для изменения данных.
Например, <a href="http://library.gnome.org/devel/gtk/stable/GtkListStore.html#gtk-list-store-set" rel="nofollow noreferrer">gtk_list_store_set()</a>
для модели GtkListStore.
Нет необходимости очищать всю модель, если вы просто хотите изменить некоторые данные, это очень расточительно и медленно.
Если вам действительно нужно изменить все данные, то обязательно очистите их.
Вам не нужно беспокоиться о том, чтобы обновить экран; представление слушает события из модели и автоматически знает, что нужно обновить при изменении модели.
UPDATE:
При изменении данных (как описано в комментарии) вам не нужно «сбрасывать» старые данные. Модель владеет данными и знает, как отслеживать используемую память. Вы просто используете вышеупомянутый вызов gtk_list_store_set()
по мере необходимости, чтобы поместить новые требуемые данные в модель. Вы можете делать это так часто, как это необходимо, и частота обновления каждые несколько секунд не должна быть проблемой.
Конечно, в таком случае, чтобы обеспечить отзывчивость вашего приложения (которое, я полагаю, однопоточное, для простоты), вы должны иметь способ асинхронного запуска обновления, возможно, с использованием таймера. Взгляните на функцию <a href="http://library.gnome.org/devel/glib/stable/glib-The-Main-Event-Loop.html#g-timeout-add" rel="nofollow noreferrer">g_timeout_add()</a>
в glib, чтобы узнать, как добавить простой глобальный таймер.