[GTK] Mehrfaches Laden der GUI



  • Moin, hab nen dummes Problem mit meinem Sorce Code.

    Habe eien schöne Funktion die einfach nur die einzelnen Objekte aus der Glade Datei ziehen soll. Leider wird bei jedem Aufruf ein ganz neues Fenster geöffnet. Das soll aber nicht passieren. Und ich weiß nicht so recht wo der fehler liegt.

    GtkWidget* 
    load_gui (char *FileSrc, char *WidgetName) {
    	GtkWidget *widget = NULL;
    
    	GtkBuilder *builder = NULL;
    	GError* error = NULL;
    
    	/* Load UI from file */
    	builder = gtk_builder_new ();
    	if (!gtk_builder_add_from_file (builder, FileSrc, &error))
    	{
    		g_warning ("Couldn't load builder file: %s", error->message);
    		g_error_free (error);
    	}
    
    	/* Auto-connect signal handlers */
    	gtk_builder_connect_signals (builder, NULL);
    
    	/* Get the window object from the ui file */
            ##################
    	widget = GTK_WIDGET (gtk_builder_get_object (builder, WidgetName));
            ##################
    	g_object_unref (builder);
    
    	return widget;	
    }
    

    Bei den ganzen Raute Zeichen liegt vermutlich das Problem, aber ich habe einfach keine Idee wie ich das ändern kann :S

    Jemand ne Idee

    mfg
    akoww



  • Was erwartest du denn, wenn du bei jedem Aufruf einen neuen Builder erzeugst und diesen um ein neues Objekt bittest? Ich kenne mich mit GTK nicht aus, aber du solltest die erzeugten Objekte irgendwo sichern und wiederverwenden.

    PS: Und für die Zukunft - aussagekräftige Thread-Titel erhöhen die Chance, daß jemand deine Fragen überhaupt liest 😉



  • Der TE hat den Titel mMng nach schon richtig gewählt... Nur was für einen Sinn macht das mehrfache Laden des GUI. In jedem Tut, das im Netz leicht zu finden ist, steht ja eine Anleitung, wie das Laden des Glade GUI gehandhabt wird.


Anmelden zum Antworten