Criação de Interface grafica com GTK4

Ola, estou aprendendo um pouco mais sobre o GTK4, ja me deparei com outra ferramenta semelhante, o QT, porém achei mais interessante o GTK.

Após um longo aprendizado para entender o que era o meson, ninja, variaveis de ambiente e tudo mais, consegui instalar o GTK4. Após compilar e ver alguns exemplos do GTK4. Achei muito bom. Fiquei facinado com as possibilidades.

Ao buscar a documentação me deparei com alguns exemplos que tem um arquivo .ui, pelo que entendi esse arquivo criar a parte da interface grafica.

O restante é com relação back-end do programa :


#include <gtk/gtk.h>

static void
print_hello (GtkWidget *widget,
             gpointer   data)
{
  g_print ("Hello World\n");
}

int
main (int   argc,
      char *argv[])
{
  GtkBuilder *builder;
  GObject *window;
  GObject *button;
  GError *error = NULL;

  gtk_init (&argc, &argv);

  /* Construct a GtkBuilder instance and load our UI description */
  builder = gtk_builder_new ();
  if (gtk_builder_add_from_file (builder, **"builder.ui",** &error) == 0)
    {
      g_printerr ("Error loading file: %s\n", error->message);
      g_clear_error (&error);
      return 1;
    }

  /* Connect signal handlers to the constructed widgets. */
  window = gtk_builder_get_object (builder, "window");
  g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);

  button = gtk_builder_get_object (builder, "button1");
  g_signal_connect (button, "clicked", G_CALLBACK (print_hello), NULL);

  button = gtk_builder_get_object (builder, "button2");
  g_signal_connect (button, "clicked", G_CALLBACK (print_hello), NULL);

  button = gtk_builder_get_object (builder, "quit");
  g_signal_connect (button, "clicked", G_CALLBACK (gtk_main_quit), NULL);

  gtk_main ();

  return 0;
}

Até ai ok, eu colo esse exemplo e compilo, tudo ok.

Ai quero fazer um exemplo meu, e me deparo com mais um desafio. Como fazer o arquivo correspondente a interface.

Não consegui achar documentação que me explicasse como isso funciona. Achei o Glade mas não funciona para o GTK4, mesmo se eu importar ele modifica tudo e ja da erro na hora de abrir o programa. Tentei fazer a interface no glade com a versão mais recente, porem não existe compatibilidade.

Em algumas buscar achei frases como, “O GTK4 DESENCORAJA O USO DO GNOME GLADE, POIS POSSUI SEU PROPRIOS MEIOS DE CONSTRUÇÃO ATRAVÉS DO GTKBUILDER”.

O que seria o GTK BUILDER;
Sei que existe funções do gtk como gtk_builder_add_from_file (builder, “builder.ui”, &error), que faz a chamada do arquivo de interface .ui.

Pensei, legal deve ter um programa para a versão do GTK4, se existe nãoa chei.

Diante de tudo isso a pergunta é:

Alguem trabalhou ou trabalha com GTK e tem alguma dica de como construir essas interfaces e se existe alguma documentação para que eu possa fazer isso.

OBSERVAÇÃO: Estou buscando informações deste site https://developer.gnome.org/gtk4/4.0/, esta tudo em ingles, o que dificulta um pouco a leitura no meu caso. Sou estudante e não tenho muita experiencia com o assunto. Se falei alguma besteira, favor desconsiderar.

Aguardo alguem que possa me passar alguma dica ai. Agradeço.

Pelas pesquisas que realizei, não encontrei um software além do Glade que faz esse procedimento.

Olhei mais a documentação e entendi alguns processos. Vou ver se crio algum artigo com alguns tutoriais para fazer programas com GTK4.

1 curtida

Este tópico foi fechado automaticamente 3 dias depois da última resposta. Novas respostas não são mais permitidas.