вопрос по программированию gtk+
есть vbox (VBOX), содержащий hbox и кнопку.
hbox содержит два виджета разделенных separator'ом.
Один из этих виджетов - лист (см. GtkWidget a()).
Вопрос: необходимо, чтобы по нажатию кнопки (button) обновилось содержимое
виджета Leftwidget. Что для этого нужно прописать в xxx и, возможно,
добавить в g_signal_connect?
//---------------------------------------------------
static void xxx (GtkWidget *button, gpointer data) { ??? }
//---------------------------------------------------
int main(int argc, char *argv[]) {
...
GtkWidget *VBOX = gtk_vbox_new (FALSE, 1);
GtkWidget * hbox = gtk_hbox_new(FALSE, 0);
GtkWidget *Separator = gtk_vseparator_new();
GtkWidget *button = gtk_button_new_with_label("Hi!");
GtkWidget *Lefwidget = a();
gtk_box_pack_start (GTK_BOX (VBOX), hbox, TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (hbox), Lefwidget, TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (hbox), Separator, FALSE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (hbox), Rigwidget, TRUE, TRUE, 0);
g_signal_connect(button, "clicked", xxx, NULL);
gtk_box_pack_start (GTK_BOX (VBOX), button, FALSE, FALSE, 0);
...
}
//---------------------------------------------------
GtkWidget a(){
GtkWidget *scrolled_window = gtk_scrolled_window_new (NULL, NULL);
GtkWidget *tree_view = gtk_tree_view_new ();
GtkListStore *list = gtk_list_store_new ( ... );
GtkTreeIter iter;
gtk_container_add (GTK_CONTAINER (scrolled_window), tree_view);
gtk_tree_view_set_model (GTK_TREE_VIEW (tree_view), GTK_TREE_MODEL (list));
gtk_widget_show (tree_view);
for ( ... ) { //заполняем лист
gtk_list_store_append (GTK_LIST_STORE (list), &iter);
gtk_list_store_set (GTK_LIST_STORE (list), &iter, ..., -1);
}
GtkCellRenderer *cell;
GtkTreeViewColumn *column;
//
column = gtk_tree_view_column_new_with_attributes ("столбец1", cell, "text", 0, NULL);
gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), GTK_TREE_VIEW_COLUMN (column));
column = gtk_tree_view_column_new_with_attributes ("столбец2", cell, "text", 1, NULL);
gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), GTK_TREE_VIEW_COLUMN (column));
return scrolled_window;
}
//---------------------------------------------------
![](/img/p.gif)
Ответ на:
комментарий
от anonymous
![](/img/p.gif)
Ответ на:
комментарий
от manny21
![](/img/p.gif)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум GTK+ / как изменить атрибуты текстовых элементов GtkListStore? (2004)
- Форум GtkTreeView (2006)
- Форум Вывод значение в многоколлоный список (GTK) (2008)
- Форум Показ текста при нажатии на кнопку GTK+, c (2017)
- Форум GTK приложение падает из-за вызова gtk_widget_destroy (2008)
- Форум Правильная передача указателей на ресурсы Gtk/ZeroMQ. (2011)
- Форум GTK потоки и вообще (2012)
- Форум GTK. Изменить цвет текста в таблице (дереве). (2015)
- Форум Проблема при использовании GTK+ под Windows (2018)
- Форум GTK: создание нового окна в новом потоке (2007)