Bem vindo ao LifeGames Demo
Cadastre-se agora para ter acesso a todos os nossos recursos. Uma vez cadastrado e logado, você será capaz de criar tópicos, postar respostas a tópicos já existentes, a reputação de seus companheiros, começar seu próprio mensageiro privado, atualizações de status post, gerir o seu perfil e muito mais. Esta mensagem será removida assim que tiver logado.
Entrar Cadastre-se


Você não está conectado. Conecte-se ou registre-se

gtk em c/c++ - 3º parte

Ver o tópico anterior Ver o tópico seguinte Ir para baixo  Mensagem [Página 1 de 1]

1gtk em c/c++ - 3º parte Empty gtk em c/c++ - 3º parte Qui maio 23, 2013 9:25 pm

Moedas Moedas : 201
Mensagens Mensagens : 92
Humor Humor : *-*
Reputação Reputação : 5
Quebra de regras:
gtk em c/c++ - 3º parte Left_bar_bleue0 / 1000 / 100gtk em c/c++ - 3º parte Right_bar_bleue

hacker fts315

hacker fts315

Moderador Informática

Moderador Informática

bom galera essa e 3º parte do tutorial de gtk em c/c++, vamos criar uma janela basica para começar

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();
}

para agente poder escrever algo usamos um objeto chamado label, para criar um label usamos a funçao gtk_label_new e passamos como argumento a string, tambem atribuimos a mesma a um ponteiro do tipo GtkWidget

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

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

agora temos q colocar esse label dentro da janela e depois chamar ele, para agente colocar ele dentro da janela usamos a funçao gtk_container_add e passamos como argumento a janela e o widget q agente quer adicionar

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

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

agora so falta chamar o label com gtk_widget_show

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

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

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]

no label agente poderia colocar o argumento NULL ou modificar o texto com a funçao gtk_label_set_text nele passamos como argumento o label seguida do texto

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

int main(int argc, char **argv)
{
   GtkWidget *janela, *label;
   gtk_init(&argc,&argv);
   janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
   label = gtk_label_new(NULL);
   gtk_label_set_text(GTK_LABEL(label),"by hacker fts315");
   gtk_container_add(GTK_CONTAINER(janela),label);
   gtk_widget_show(janela);
   gtk_widget_show(label);
   g_signal_connect(GTK_OBJECT(janela),"destroy",G_CALLBACK(gtk_main_quit),NULL);
   gtk_main();
}

para agente mudar a cor ou manipular o texto melhor usamos a funçao gtk_label_set_markup e passamos como argumento o label e o texto, essa funçao permite uso de tags parecida com html

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

int main(int argc, char **argv)
{
   GtkWidget *janela, *label;
   gtk_init(&argc,&argv);
   janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
   label = gtk_label_new(NULL);
   gtk_label_set_markup(GTK_LABEL(label),"<span background=\"white\"foreground=\"red\">by hacker fts315</span>");
   gtk_container_add(GTK_CONTAINER(janela),label);
   gtk_widget_show(janela);
   gtk_widget_show(label);
   g_signal_connect(GTK_OBJECT(janela),"destroy",G_CALLBACK(gtk_main_quit),NULL);
   gtk_main();
}

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]

bom galera ate o proximo ^^

by hacker fts315

https://www.facebook.com/hacker.fts315

Ver o tópico anterior Ver o tópico seguinte Ir para o topo  Mensagem [Página 1 de 1]

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