Thread View: pl.comp.os.linux.programowanie
4 messages
4 total messages
Started by Badman
Wed, 07 Dec 2011 12:40
Jak umieścić Stock Item w gtk_tree_view _
Author: Badman
Date: Wed, 07 Dec 2011 12:40
Date: Wed, 07 Dec 2011 12:40
40 lines
2232 bytes
2232 bytes
Witam W jaki sposób w gtk_tree_view'ie umieszczać "ikony" Stock Item ? Gdzieś doczytałem, że komórka powina mieć atrybut stock-id, więc mój kod wygląda tak: [...] listview = gtk_tree_view_new (); kol = gtk_tree_view_column_new (); gtk_tree_view_column_set_title ( kol, "Stock Item" ); gtk_tree_view_append_column ( GTK_TREE_VIEW(listview), kol ); komorka = gtk_cell_renderer_pixbuf_new (); gtk_tree_view_column_add_attribute(kol, GTK_CELL_RENDERER(komorka), "stock-id", 1); gtk_tree_view_column_pack_start(kol, komorka, TRUE); lista = gtk_list_store_new ( 2, GDK_TYPE_PIXBUF, G_TYPE_STRING ); gtk_list_store_append ( lista, &iter ); ikona = gtk_widget_render_icon (win, GTK_STOCK_EDIT, GTK_ICON_SIZE_MENU, NULL); gtk_list_store_set ( lista, &iter, 0, image, 1, GTK_STOCK_EDIT, -1); gtk_tree_view_set_model ( GTK_TREE_VIEW(listview), GTK_TREE_MODEL(lista) ); [...] Jednak nie działa :( -- Pozdrawiam Badman
Re: Jak umieścić Stock Item w gtk_tree_view _
Author: Waldek M.
Date: Wed, 07 Dec 2011 17:26
Date: Wed, 07 Dec 2011 17:26
23 lines
1692 bytes
1692 bytes
Dnia Wed, 7 Dec 2011 04:40:08 -0800 (PST), Badman napisał(a): > W jaki sposób w gtk_tree_view'ie umieszczać "ikony" Stock Item ? > Gdzieś doczytałem, że komórka powina mieć atrybut stock-id, więc mój > kod wygląda tak: > komorka = gtk_cell_renderer_pixbuf_new (); > > gtk_tree_view_column_add_attribute(kol, GTK_CELL_RENDERER(komorka), > "stock-id", 1); Czy stock-id czasem nie jest typu gchar* ? http://developer.gnome.org/gtk3/stable/GtkCellRendererPixbuf.html#GtkCellRendererPixbuf--stock-id Zerknij też tutaj - co prawda Python, ale może Ci to coś podpowie. http://faq.pygtk.org/index.py?req=edit&file=faq13.006.htp > Jednak nie działa :( Nie dostajesz czasem żadnych warningów GTK w czasie wykonania? Pozdrawiam, Waldek
Re: Jak umieścić Stock Item w gtk_tree_view _
Author: Waldek M.
Date: Wed, 07 Dec 2011 17:31
Date: Wed, 07 Dec 2011 17:31
20 lines
1667 bytes
1667 bytes
Dnia Wed, 7 Dec 2011 18:26:18 +0100, Waldek M. napisał(a): >> W jaki sposób w gtk_tree_view'ie umieszczać "ikony" Stock Item ? >> Gdzieś doczytałem, że komórka powina mieć atrybut stock-id, więc mój >> kod wygląda tak: > >> komorka = gtk_cell_renderer_pixbuf_new (); >> >> gtk_tree_view_column_add_attribute(kol, GTK_CELL_RENDERER(komorka), >> "stock-id", 1); > > Czy stock-id czasem nie jest typu gchar* ? > http://developer.gnome.org/gtk3/stable/GtkCellRendererPixbuf.html#GtkCellRendererPixbuf--stock-id Grrrr... autopoprawka; nie doczytałem do końca kodu. Przecież trzymasz atrybut stock-id w kolumnie. Moja kulpa. Ale reszty mozesz spróbować ;-) Pozdr. Waldek
Re: Jak umieścić Stock Item w gtk_tree_view _
Author: Badman
Date: Thu, 08 Dec 2011 08:19
Date: Thu, 08 Dec 2011 08:19
49 lines
2606 bytes
2606 bytes
W końcu udało mi się :) Poniżej przykład, ponieważ to co jest w gtk-demo wykorzystuje rejestracje nowego typu składającego się z kilku elementów: 1) Wykorzystanie atrybutu stock-id w GtkCellRendererPixbuf: GtkWidget *listview; GtkTreeViewColumn *kol; GtkCellRendererPixbuf *komorka; GtkListStore *lista; GtkTreeIter iter; listview = gtk_tree_view_new (); kol = gtk_tree_view_column_new (); gtk_tree_view_column_set_title ( kol, "Stock Item" ); komorka = gtk_cell_renderer_pixbuf_new (); gtk_tree_view_column_pack_start (kol, komorka, TRUE); /* UWAGA: ważne jest dodanie atrybutu za gtk_tree_view_column_pack_start, kiedy będzię przed nie działa */ gtk_tree_view_column_add_attribute(kol, GTK_CELL_RENDERER(komorka), "stock-id", 1); komorka = gtk_cell_renderer_text_new (); gtk_tree_view_column_pack_start (kol, komorka, TRUE); gtk_tree_view_append_column ( GTK_TREE_VIEW(listview), kol ); lista = gtk_list_store_new ( 2, GDK_TYPE_PIXBUF, G_TYPE_STRING ); gtk_list_store_append ( lista, &iter ); /* Dodaje elemtu stock na podstawie stock-id, w tym przypadku GTK_STOCK_APPLY */ gtk_list_store_set ( lista, &iter, 1, GTK_STOCK_APPLY, -1); gtk_tree_view_set_model ( GTK_TREE_VIEW(listview), GTK_TREE_MODEL(lista) ); -- Pozdrawiam Badman
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads