Universal Pixel
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

gtk em c/c++ - 2º parte

2 participantes

Ir para baixo

gtk em c/c++ - 2º parte Empty gtk em c/c++ - 2º parte

Mensagem por Flavio315 Qui Jun 20, 2013 1:32 pm

continuando o tutorial anterior de gtk em c/c++, vamos iniciar esse criando uma janela simples

Código:
#include <stdio.h>
#include <gtk/gtk.h>

int main(int argc, char **argv)
{
   GtkWidget *janela;
   gtk_init(&argc,&argv);
   janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
   gtk_widget_show(janela);
   gtk_main();
}

para agente colocar um widget com um tamanho minimo usamos a funçao gtk_widget_set_usize passamos como argumento o ponteiro da janela e o tamanho da largura e da altura

Código:
#include <stdio.h>
#include <gtk/gtk.h>

int main(int argc, char **argv)
{
   GtkWidget *janela;
   gtk_init(&argc,&argv);
   janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
   gtk_widget_set_usize(GTK_WIDGET(janela),300,300);
   gtk_widget_show(janela);
   gtk_main();
}

gtk em c/c++ - 2º parte Tk43

para mudar o tamanho do widget usamos a funçao gtk_widget_set_size_request passamos como argumento o ponteiro da widget e a largura e a altura

Código:
#include <stdio.h>
#include <gtk/gtk.h>

int main(int argc, char **argv)
{
   GtkWidget *janela;
   gtk_init(&argc,&argv);
   janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
   gtk_widget_set_size_request(GTK_WIDGET(janela),300,300);
   gtk_widget_show(janela);
   gtk_main();
}

podemos usar a funçao gtk_window_set_resazible para impedir q ela redimensione, nos argumentos passamos o ponteiro da janela e o FALSE (o padrao e TRUE)

Código:
#include <stdio.h>
#include <gtk/gtk.h>

int main(int argc, char **argv)
{
   GtkWidget *janela;
   gtk_init(&argc,&argv);
   janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
   gtk_widget_set_size_request(GTK_WIDGET(janela),300,300);
   gtk_window_set_resizable(GTK_WINDOW(janela),FALSE);
   gtk_widget_show(janela);
   gtk_main();
}

gtk em c/c++ - 2º parte Tk44

podemos mover a janela com a funçao gtk_window_move passamos como argumento o ponteiro da janela e a posiçao da direita para esquerda e a posiçao de cima para baixo

Código:
#include <stdio.h>
#include <gtk/gtk.h>

int main(int argc, char **argv)
{
   GtkWidget *janela;
   gtk_init(&argc,&argv);
   janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
   gtk_window_move(GTK_WINDOW(janela),500,0);
   gtk_widget_show(janela);
   gtk_main();
}

gtk em c/c++ - 2º parte Tk45

para ocultar um widget usamos gtk_widget_hide e passamos como argumento o ponteiro do widget

Código:
#include <stdio.h>
#include <gtk/gtk.h>

int main(int argc, char **argv)
{
   GtkWidget *janela;
   gtk_init(&argc,&argv);
   janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
   gtk_widget_show(janela);
   gtk_widget_hide(janela);
   gtk_main();
}

para destruir um widget ao inves de ocultar usamos gtk_widget_destroy passamos como argumento o ponteiro do widget


Código:
#include <stdio.h>
#include <gtk/gtk.h>

int main(int argc, char **argv)
{
  GtkWidget *janela;
  gtk_init(&argc,&argv);
  janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  gtk_widget_show(janela);   
  gtk_widget_destroy(janela);
  gtk_main();
}

voce pode percebe q mesmo quando fecha a janela ainda fica preso no terminal para evitar isso usamos um evento q quando a janela for destruida ele libera o terminal para isso usamos a funçao g_signal_connect passamos como argumento o objeto q no caso e a janela depois o evento q vai ser "destroy", depois o callback q seria a funçao de retorno no caso vamos usar G_CALLBACK(gtk_main_quit), e o ultimo e um ponteiro de passagem nele colocamos NULL

Código:
#include <stdio.h>
#include <gtk/gtk.h>

int main(int argc, char **argv)
{
   GtkWidget *janela;
   gtk_init(&argc,&argv);
   janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
   gtk_widget_show(janela);   
   g_signal_connect(GTK_OBJECT(janela),"destroy",G_CALLBACK(gtk_main_quit),NULL);
   gtk_main();
}

gtk em c/c++ - 2º parte Tk46

bom galera e isso, ate o proximo ^^

by hacker fts315
Flavio315
Flavio315
Moderapixel

Quebra de regras Quebra de regras :
gtk em c/c++ - 2º parte Left_bar_bleue0 / 1000 / 100gtk em c/c++ - 2º parte Right_bar_bleue

Masculino Mensagens Mensagens : 54
Pontos Pontos : 146
Reputação Reputação : 0
Data de inscrição Data de inscrição : 19/06/2013
Localização : sub-mundo da informatica

Ir para o topo Ir para baixo

gtk em c/c++ - 2º parte Empty Re: gtk em c/c++ - 2º parte

Mensagem por Detoxx Qui Jun 20, 2013 2:20 pm

Obrigado Por Com o Fórum
Até
Detoxx
Detoxx
Moderapixel

Quebra de regras Quebra de regras :
gtk em c/c++ - 2º parte Left_bar_bleue0 / 1000 / 100gtk em c/c++ - 2º parte Right_bar_bleue

Masculino Mensagens Mensagens : 76
Pontos Pontos : 86
Reputação Reputação : 0
Data de inscrição Data de inscrição : 19/06/2013
Idade Idade : 23
Localização : Aracaju

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos