LINUX.ORG.RU

Сообщения manny21

 

вопрос по программированию gtk+

Форум — Development

вопрос по программированию 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;
}
//---------------------------------------------------

manny21
()

Делу - время, потехе - час

Новости — Игры
Группа Игры

Фирма iGames Publishing разрабатывает игру Savage: The battle for newerth, игра будет доступна как под Windows, так и под Linux.

цитата:If you have Linux and are eyeballing Savage then you are in luck. iGames and S2 Games have announced that RTSS Savage: The Battle for Newerth will support Linux. Look for it this August.

>>> Подробности

manny21
()

RSS подписка на новые темы