buttons in grid

This commit is contained in:
2025-12-05 21:16:25 +05:00
parent 573bf3f510
commit e060345e1d

26
main.c
View File

@@ -1,4 +1,5 @@
#include <gtk/gtk.h> #include <gtk/gtk.h>
#include <stdio.h>
static void app_activate (GtkApplication *app, gpointer *user_data){ static void app_activate (GtkApplication *app, gpointer *user_data){
@@ -7,17 +8,24 @@ static void app_activate (GtkApplication *app, gpointer *user_data){
gtk_window_set_default_size (GTK_WINDOW (window), 600, 400); gtk_window_set_default_size (GTK_WINDOW (window), 600, 400);
gtk_window_set_application(GTK_WINDOW(window),app); gtk_window_set_application(GTK_WINDOW(window),app);
GtkWidget* box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 10); GtkWidget* grid = gtk_grid_new();
gtk_widget_set_valign(box, GTK_ALIGN_START); // выравнивание по верхнему краю
for (int i = 0; i<=5;i++){ for (int i = 0; i<2;i++){
GtkWidget* btn = gtk_button_new_with_label("waht"); for (int j = 0; j<10;j++){
gtk_box_append(GTK_BOX(box),btn); GtkWidget* btn = gtk_button_new();
gtk_grid_set_row_spacing(GTK_GRID (grid), 10);
gtk_window_set_child(GTK_WINDOW(window),box); gtk_grid_set_column_spacing(GTK_GRID (grid), 10);
printf("%i \n",i); gtk_grid_set_column_homogeneous(GTK_GRID (grid), TRUE);
gtk_grid_set_row_homogeneous(GTK_GRID (grid), TRUE);
char *label = "waht";
gtk_button_set_label(GTK_BUTTON(btn),label);
gtk_grid_attach (GTK_GRID(grid), btn, j, i, 1,1);
gtk_widget_set_halign(btn, GTK_ALIGN_CENTER);
gtk_widget_set_valign(btn, GTK_ALIGN_CENTER);
gtk_window_set_child(GTK_WINDOW(window),grid);
printf("%i %i \n ",i,j);
}
} }
// gtk_widget_set_halign(btn, GTK_ALIGN_CENTER);
gtk_window_present(GTK_WINDOW(window)); gtk_window_present(GTK_WINDOW(window));
g_print("Started\n"); g_print("Started\n");