Lucas Martinho
(usa Ubuntu)
Enviado em 09/12/2010 - 20:06h
Olá gente eu fiz uma app em gtk e glade , ta tudo belezinha , so falta o botao funcionar cada vez que clico , não somente uma vez e depois nao funcionar mais....
O que ocorre é que o botao so funciona uma vez , somente.
Codigo >>
#include <gtk/gtk.h>
#include <glade/glade.h>
// Váriaveis globais ->
// Declara JanelaPrincipal como do tipo GtkWidget
GtkWidget *JanelaPrincipal;
GtkWidget *MusicPlayer;
GtkWidget *btmusica;
GtkWidget *ImageView;
GtkWidget *TextView;
//Função de chamada
static void on_button1_clicked( GtkWidget *btmusica,
gpointer data )
{
gtk_widget_show(MusicPlayer);
}
int main(int argc, char *argv[])
{
// Váriaveis locais ->
// Declara ArquivoGlade como do tipo GladeXML
GladeXML *ArquivoGlade;
// Inicia GTK -> Apartir de aqui vai o desenvolvimento da app
gtk_init(&argc,&argv);
// ArquivoGlade recebe o arquivo .glade
ArquivoGlade = glade_xml_new("GContrix.ui", NULL, NULL);
// "GtkWidget" obtem pelo ArquivoGlade o objeto "window_name"
JanelaPrincipal = glade_xml_get_widget(ArquivoGlade, "JanelaPrincipal");
MusicPlayer = glade_xml_get_widget(ArquivoGlade, "MusicPlayer");
btmusica = glade_xml_get_widget(ArquivoGlade, "button1");
ImageView = glade_xml_get_widget(ArquivoGlade, "ImageView");
TextView = glade_xml_get_widget(ArquivoGlade, "TextView");
// Definição de sinais e callbacks
gtk_signal_connect(GTK_OBJECT (btmusica), "clicked", GTK_SIGNAL_FUNC (on_button1_clicked), NULL);
//
glade_xml_signal_autoconnect(ArquivoGlade);
// Mostrar tudo
gtk_widget_show_all(JanelaPrincipal);
// Loop do GTK
gtk_main ();
return 0;
}