Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

Você está aqui: GTK+ ::: Dicas & Truques ::: Formulários e Janelas

Entendendo a classe GtkWindow

Quantidade de visualizações: 5670 vezes
No GTK+ a janela principal de uma aplicação (a janela que contém as caixas de texto, os combo boxes, as listas, botões, etc) é representada por uma instância de GtkWindow. É importante entender a posição desta classe na hierarquia de objetos GTK+. Veja:

 GObject
   +----GInitiallyUnowned
         +----GtkObject
               +----GtkWidget
                     +----GtkContainer
                           +----GtkBin
                                 +----GtkWindow
                                       +----GtkDialog
                                       +----GtkAssistant
                                       +----GtkPlug

Como podemos notar, GtkWindow está logo abaixo de GtkBin e GtkContainer, o que nos garante que a janela principal representada por este controle realmente detém a capacidade de conter outros containeres e/ou controles. Em geral uma janela GtkWindow é criada da seguinte forma:

GtkWidget *janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);

Veja que tudo que temos a fazer é criar um ponteiro para um objeto GtkWidget e alocar espaço para o mesmo usando uma chamada à função gtk_window_new(). Note que, quase sempre, o valor passado para esta função é GTK_WINDOW_TOPLEVEL (que cria uma janela de nível mais alto, ou seja, a janela principal da aplicação). A partir deste momento a janela já pode ser exibida com uma chamada à função gtk_widget_show(). Veja:

gtk_widget_show(janela);

Note que a janela criada por meio do objeto GtkWindow contém tudo que uma janela principal deveria ter: barra de título, botões minimizar, maximizar e fechar e, dependendo do sistema de desktop, um ícone representando a janela.

Para finalizar, veja o código completo no qual criamos uma janela GtkWindow com a largura de 400 pixels e altura de 200 pixels:

#include <gtk/gtk.h>

int main(int argc, char *argv[]){
  // inicializamos o GTK+ e as bibliotecas de suporte
  gtk_init(&argc, &argv);

  // vamos criar uma nova janela e definir seu título
  GtkWidget *janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  gtk_window_set_title(GTK_WINDOW(janela), "Estudos GTK+ com C");

  // vamos definir a largura e altura da janela
  gtk_window_set_default_size(GTK_WINDOW(janela), 400, 200);

  // exibimos a janela
  gtk_widget_show(janela);

  // código que destrói a janela principal
  g_signal_connect_swapped(G_OBJECT(janela), "destroy",
    G_CALLBACK(gtk_main_quit), NULL);

  // entramos no loop principal do GTK+
  gtk_main();

  // a aplicação GTK+ foi fechada, vamos sair
  return 0;
}


Link para compartilhar na Internet ou com seus amigos:

Veja mais Dicas e truques de GTK+

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 32 usuários muito felizes estudando em nosso site.