Verlet Posted December 22, 2009 at 02:51 PM Report Share #301827 Posted December 22, 2009 at 02:51 PM Boa tarde, Eu estou agora a começar a trabalhar em GTK+ em C, e gostava de criar uma janela de ajuda num programa parecida com esta. http://img707.imageshack.us/img707/6418/94834672.png E gostava que, quando o utilizador carregasse numa das mensagens, aparecesse a informação correspondente. Mas não sei como é que posso fazer isto. Se alguém pudesse ajudar agradecia.😉 Link to comment Share on other sites More sharing options...
Triton Posted December 22, 2009 at 03:15 PM Report Share #301833 Posted December 22, 2009 at 03:15 PM http://glade.gnome.org/ http://library.gnome.org/devel/gtk/unstable/GtkBuilder.html <3 life Link to comment Share on other sites More sharing options...
Verlet Posted December 22, 2009 at 03:42 PM Author Report Share #301836 Posted December 22, 2009 at 03:42 PM Eu gostava de saber era como é que se faz isso sem usar o glade. Porque isto é um trabalho para ser feito apenas em GTK+. Se puderem dar uma pequena explicação ficaria muito grato. É que os tutoriais na net são muito incompletos e fazer isto sem qualquer tipo de ajuda para além dos tutoriais é muito dificil. ? Link to comment Share on other sites More sharing options...
Triton Posted December 22, 2009 at 03:55 PM Report Share #301838 Posted December 22, 2009 at 03:55 PM http://library.gnome.org/devel/gtk/unstable/GtkHBox.html http://library.gnome.org/devel/gtk/unstable/GtkListStore.html Acho que só precisas desses dois widgets. Depois é uma questão de ligares aos respectivos sinais de OnClick dos elementos da lista e alterar o conteúdo do outro lado, dependendo do item que foi clicado. <3 life Link to comment Share on other sites More sharing options...
Verlet Posted December 22, 2009 at 03:58 PM Author Report Share #301840 Posted December 22, 2009 at 03:58 PM Obrigado.😉 A minha dúvida é precisamente essa. Como é que posso ligar uma função de callback aos sinais de OnClick dos elementos da lista ? Não sei qual o código ou qual o nome do sinal que os elementos da lista emitem. A minha função create_list está assim: static GtkWidget *create_list( void ) { GtkWidget *scrolled_window; GtkWidget *tree_view; GtkListStore *model; GtkTreeIter iter; GtkCellRenderer *cell; GtkTreeViewColumn *column; int i; /* Create a new scrolled window, with scrollbars only if needed */ scrolled_window = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); model = gtk_list_store_new (1, G_TYPE_STRING); tree_view = gtk_tree_view_new (); gtk_container_add (GTK_CONTAINER (scrolled_window), tree_view); gtk_tree_view_set_model (GTK_TREE_VIEW (tree_view), GTK_TREE_MODEL (model)); gtk_widget_show (tree_view); /* Add some messages to the window */ for (i = 0; i < 10; i++) { gchar *msg = g_strdup_printf ("Message #%d", i); gtk_list_store_append (GTK_LIST_STORE (model), &iter); gtk_list_store_set (GTK_LIST_STORE (model), &iter, 0, msg, -1); g_free (msg); } cell = gtk_cell_renderer_text_new (); column = gtk_tree_view_column_new_with_attributes ("Messages", cell, "text", 0, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), GTK_TREE_VIEW_COLUMN (column)); return scrolled_window; } Alguém sabe fazê-lo? Obrigado, Verlet Link to comment Share on other sites More sharing options...
Verlet Posted December 22, 2009 at 05:20 PM Author Report Share #301860 Posted December 22, 2009 at 05:20 PM Alguém me podia dar uma dica? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now