View Full Version : [C++] GTKmm e Glade3
Emalele1688
15-05-2010, 09:58
Salve a tutti!
Qualcuno di voi è mai riuscito a creare un interfaccia grafica con Glade e caricarla in un programma con le GTKmm?? Come diavolo si fa??
Io ho trovato diversi tutorial, quasi tutti per GTK e non GTKmm, ma in compilazione ho errori....
Mi basta saperlo fare anche con le GTK e non perforza con le GTK per il c++, basta che riesco a creare delle interfacce grafiche in Linux...
Grazie a chi mi risponderà!!
Salve a tutti!
Qualcuno di voi è mai riuscito a creare un interfaccia grafica con Glade e caricarla in un programma con le GTKmm?? Come diavolo si fa??
Io ho trovato diversi tutorial, quasi tutti per GTK e non GTKmm, ma in compilazione ho errori....
Mi basta saperlo fare anche con le GTK e non perforza con le GTK per il c++, basta che riesco a creare delle interfacce grafiche in Linux...
Grazie a chi mi risponderà!!
Il tutorial delle gtkmm dovrebbe coprire anche quesdto aspetto:
http://library.gnome.org/devel/gtkmm-tutorial/stable/chapter-builder.html.en
Emalele1688
15-05-2010, 12:04
Il problema è che quando compilo il programma d'esempio riportato nel tutorial mi restituisce errori... Sapete come configurare il Makefile??
DanieleC88
15-05-2010, 13:14
Che errori?
Il problema è che quando compilo il programma d'esempio riportato nel tutorial mi restituisce errori... Sapete come configurare il Makefile??
Se non riporti gli errori non possiamo aiutarti. Posso ipotizzare che non hai impostato correttamente gli include path e le librerie. Ci riporti anche il makefile che stai usando ?
Emalele1688
16-05-2010, 10:47
Con le GTK sono riuscito a caricare il tutto senza errori compilando il seguente codice:
#include <gtk/gtk.h>
int main(int argc, char **argv)
{
GtkBuilder *builder;
GtkWidget *window;
GError *error = NULL;
gtk_init( &argc, &argv );
builder = gtk_builder_new();
if( ! gtk_builder_add_from_file( builder, "prova.glade", &error ) )
{
g_warning( "%s", error->message );
g_free( error );
return( 1 );
}
window = GTK_WIDGET( gtk_builder_get_object( builder, "window1" ) );
gtk_builder_connect_signals( builder, NULL );
g_object_unref( G_OBJECT( builder ) );
gtk_widget_show( window );
gtk_main();
return(0);
}
Compilando con:
gcc -o app main.c `pkg-config --cflags --libs gtk+-2.0`
L'unico problema è che nella finestra non ho la barra del titolo, quindi per chiudere la finestra devo andare sul Monitor di Sistema, perchè non mi si chiude nemmeno dal pannello di Gnome... Cosa strana, ma non è per ora un gran problema, magari non ho impostato qualcosa in Glade..
Quello che voglio chiedervi adesso più che altro è caricare il .glade con le GTKmm ...
Nei tutorial presenti in gnome.org dice che i file .glade si caricano con:
Glib::RefPtr<Gtk::Builder> builder = Gtk::Builder::create_from_file("basic.glade");
E' dopo cosa ci dico al compilatore??
Gli esempi presenti in gnome.org non caricano file .glade ma .ui, è non so cosa sono
In poche parole, sono riuscito oggi a caricare il .glade con le GTK, ma non riesco con le GTKmm...
Emalele1688
17-05-2010, 21:51
Ce qualcuno che lo sa fare ???????
Con le GTK sono riuscito a caricare il tutto senza errori compilando il seguente codice:
#include <gtk/gtk.h>
int main(int argc, char **argv)
{
GtkBuilder *builder;
GtkWidget *window;
GError *error = NULL;
gtk_init( &argc, &argv );
builder = gtk_builder_new();
if( ! gtk_builder_add_from_file( builder, "prova.glade", &error ) )
{
g_warning( "%s", error->message );
g_free( error );
return( 1 );
}
window = GTK_WIDGET( gtk_builder_get_object( builder, "window1" ) );
gtk_builder_connect_signals( builder, NULL );
g_object_unref( G_OBJECT( builder ) );
gtk_widget_show( window );
gtk_main();
return(0);
}
Compilando con:
gcc -o app main.c `pkg-config --cflags --libs gtk+-2.0`
L'unico problema è che nella finestra non ho la barra del titolo, quindi per chiudere la finestra devo andare sul Monitor di Sistema, perchè non mi si chiude nemmeno dal pannello di Gnome... Cosa strana, ma non è per ora un gran problema, magari non ho impostato qualcosa in Glade..
Quello che voglio chiedervi adesso più che altro è caricare il .glade con le GTKmm ...
Nei tutorial presenti in gnome.org dice che i file .glade si caricano con:
Glib::RefPtr<Gtk::Builder> builder = Gtk::Builder::create_from_file("basic.glade");
E' dopo cosa ci dico al compilatore??
Gli esempi presenti in gnome.org non caricano file .glade ma .ui, è non so cosa sono
In poche parole, sono riuscito oggi a caricare il .glade con le GTK, ma non riesco con le GTKmm...
Per prima cosa, usa il tag CODE per il codice altrimenti non si capisce niente... in ogni caso non hai detto che errore ti torna. Immagino sia durante il link... devi cambiare `pkg-config --cflags --libs gtk+-2.0` opportunamente... ora non ricordo di preciso il nome ma qualcosa tipo `pkg-config --cflags --libs gtkmm-2.4`.
con pkg-config --list-all vedi l'elenco di quelli disponibili e aggiusti di conseguenzqa
DanieleC88
18-05-2010, 18:57
Per prima cosa, usa il tag QUOTE per il codice
Ehm, intendevi CODE?
Ehm, intendevi CODE?
ovviamente :D. sto rimbecillendo, grazie per aver notato la svista, ora sistemo.
Emalele1688
18-05-2010, 23:32
Il codice che vi ho mostrato sono riuscito a farlo funzionare, ma è in GTK per il C...
A me serve saperlo fare in GTKmm con il C++...
Il codice che vi ho mostrato sono riuscito a farlo funzionare, ma è in GTK per il C...
A me serve saperlo fare in GTKmm con il C++...
Si ma se non riporti ne' il codice che stai usando ne' gli errori che ti torna come facciamo ad aiutarti ?
Emalele1688
19-05-2010, 21:10
No il problema è che non ho alcun codice per le GTKmm.. Ho solo la seguente documentazione che non riesco a capire come possa aiutarmi:
http://library.gnome.org/devel/gtkmm-tutorial/stable/sec-builder-loading-glade-file.html.en
No il problema è che non ho alcun codice per le GTKmm.. Ho solo la seguente documentazione che non riesco a capire come possa aiutarmi:
http://library.gnome.org/devel/gtkmm-tutorial/stable/sec-builder-loading-glade-file.html.en
Beh se hai provato uno degli esempi, qualcosa avrai tentato di compilare, o no ? :confused:
Comunque puoi provare con l'esempio riportato qui:
http://library.gnome.org/devel/gtkmm-tutorial/stable/sec-builder-accessing-widgets.html.en#builder-example-loading
e compilarlo con la riga
g++ ` pkg-config --libs --cflags gtkmm-2.4` test.cpp
dove test.cpp e' ovviamente il file con il codice riportato al link
Emalele1688
20-05-2010, 16:26
Era quello l'esempio che avevo provato, ma li non carica il .glade, carica basic.ui che non so che sia, e dall'editor di Glade non fa esportare alcun .ui ... :mc: :mc:
Chiaramente se eseguo quel codice mi esce scritto basic.ui non trovato
Emalele1688
24-05-2010, 08:56
Ma nessuno conosce queste librerie???
vBulletin® v3.6.4, Copyright ©2000-2026, Jelsoft Enterprises Ltd.