Glade C++ Linux Assistance

29 Views Asked by At

needing some help with Getting my buttons to have a click event on the second glade screen also a close even , a secondary question would be how i can arrange my Code to have both these screens on one glade UI file. thank you for any help you can give .

#include <gtk/gtk.h>


void on_exit_btn1_clicked(GtkWidget *widget, gpointer data) {
 gtk_main_quit();
}

void open_about_dialog(GtkWidget *widget, gpointer data) {
    GtkBuilder *builder;
    GtkWidget *dialog1;
    GtkWidget *button;
    builder = gtk_builder_new_from_file("glade/about_dialog.glade");
    dialog1 = GTK_WIDGET(gtk_builder_get_object(builder, "about_dialog"));
    button = GTK_WIDGET(gtk_builder_get_object(builder, "exit_btn1"));
    gtk_dialog_run(GTK_DIALOG(dialog1));
    gtk_widget_destroy(dialog1);
    g_object_unref(builder);
}

int main(int argc, char *argv[]) {
    gtk_init(&argc, &argv);

    GtkBuilder *builder;
    GtkWidget *window;
    GtkWidget *button;
  
    builder = gtk_builder_new_from_file("glade/main_window.glade");
    window = GTK_WIDGET(gtk_builder_get_object(builder, "main_window"));
    button = GTK_WIDGET(gtk_builder_get_object(builder, "show_about"));
    
    g_signal_connect(button, "clicked", G_CALLBACK(open_about_dialog), NULL);
    g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL);

    gtk_widget_show_all(window);
    gtk_main();

    return 0;
}

I've tried putting both screens on one glade UI file, but was unable to get the second screen to open with a Button click. even an example possibly of what i need to do

0

There are 0 best solutions below