Você está aqui: GTK+ ::: Dicas & Truques ::: Formulários e Janelas |
Entendendo a classe GtkWindowQuantidade 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; } |
![]() |
Veja mais Dicas e truques de GTK+ |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |