1 gtk em c/c++ - 10º parte Seg Jun 17, 2013 7:53 am
Moedas : 201
Mensagens : 92
Humor : *-*
Reputação : 5
Mensagens : 92
Humor : *-*
Reputação : 5
hacker fts315
bom galera chegamos a 10º parte desse tutorial *-* , para começar ele vamos fazer a janela basica
para agente poder escrever dados usamos um entryq sao equivalentes aos edit ou text de algumas ide de algumas linguagem, para agente criar um entry usamos a funçao gtk_entry_new e atribuimos a um ponteiro do tipo GtkWidget
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
para inserir um texto dentro do entry usamos a funçao gtk_entry_set_text passamos como argumento para ela o ponteiro do entry
para agente pegar o texto dentro de um entry usamos a funçao gtk_entry_get_text ela funciona como um ponteiro para o texto, no exemplo abaixo quando aperta o botao ele copia o texto q ta no entry para um label
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
se agente quiser concatenar o texto no entry ao inves de substituir usamos a funçao gtk_entry_append_text no lugar da funçao gtk_entry_set_text
com a funçao gtk_entry_set_editable podemos impedir q alguem modifique o entry, para usar ele basta passar como argumento o ponteiro do entry e FALSE (o padrao e TRUE)
com a funçao gtk_entry_set_visibility impedimos a visualizaçao do texto dentro do entry (perfeito para senha *-*), para usar ele basta passar como argumento o ponteiro do entry e FALSE (padrao e TRUE)
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
com a funçao gtk_entry_set_max_length definimos um tamanho maximo para o entry, para usar ele basta passar como argumento o ponteiro do entry depois o tamanho
bom galera existe outras funçoes para manipular o entry alem dessas q eu citei mais por enquanto ficamos apenas com essas ^^
by hacker fts315
- 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_all(janela);
g_signal_connect(GTK_OBJECT(janela),"destroy",G_CALLBACK(gtk_main_quit),NULL);
gtk_main();
}
para agente poder escrever dados usamos um entryq sao equivalentes aos edit ou text de algumas ide de algumas linguagem, para agente criar um entry usamos a funçao gtk_entry_new e atribuimos a um ponteiro do tipo GtkWidget
- Código:
#include <stdio.h>
#include <gtk/gtk.h>
int main(int argc, char **argv)
{
GtkWidget *janela, *entry;
gtk_init(&argc,&argv);
janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
entry = gtk_entry_new();
gtk_container_add(GTK_CONTAINER(janela),entry);
gtk_widget_show_all(janela);
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]
para inserir um texto dentro do entry usamos a funçao gtk_entry_set_text passamos como argumento para ela o ponteiro do entry
- Código:
#include <stdio.h>
#include <gtk/gtk.h>
int main(int argc, char **argv)
{
GtkWidget *janela, *entry;
gtk_init(&argc,&argv);
janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
entry = gtk_entry_new();
gtk_entry_set_text(GTK_ENTRY(entry),"by hacker fts315");
gtk_container_add(GTK_CONTAINER(janela),entry);
gtk_widget_show_all(janela);
g_signal_connect(GTK_OBJECT(janela),"destroy",G_CALLBACK(gtk_main_quit),NULL);
gtk_main();
}
para agente pegar o texto dentro de um entry usamos a funçao gtk_entry_get_text ela funciona como um ponteiro para o texto, no exemplo abaixo quando aperta o botao ele copia o texto q ta no entry para um label
- Código:
#include <stdio.h>
#include <string.h>
#include <gtk/gtk.h>
GtkWidget *entry, *label;
void fts_entry(void)
{
gtk_label_set_text(GTK_LABEL(label),gtk_entry_get_text(GTK_ENTRY(entry)));
}
int main(int argc, char **argv)
{
GtkWidget *janela, *botao, *fixo;
gtk_init(&argc,&argv);
janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
entry = gtk_entry_new();
label = gtk_label_new("by hacker fts315");
botao = gtk_button_new_with_label("escrever no label");
fixo = gtk_fixed_new();
gtk_container_add(GTK_CONTAINER(janela),fixo);
gtk_fixed_put(GTK_FIXED(fixo),label,0,0);
gtk_fixed_put(GTK_FIXED(fixo),entry,0,30);
gtk_fixed_put(GTK_FIXED(fixo),botao,0,60);
gtk_widget_show_all(janela);
g_signal_connect(GTK_OBJECT(janela),"destroy",G_CALLBACK(gtk_main_quit),NULL);
g_signal_connect(GTK_OBJECT(botao),"clicked",G_CALLBACK(fts_entry),NULL);
gtk_main();
}
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
se agente quiser concatenar o texto no entry ao inves de substituir usamos a funçao gtk_entry_append_text no lugar da funçao gtk_entry_set_text
- Código:
#include <stdio.h>
#include <string.h>
#include <gtk/gtk.h>
int main(int argc, char **argv)
{
GtkWidget *janela, *entry, *fixo;
gtk_init(&argc,&argv);
janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
entry = gtk_entry_new();
fixo = gtk_fixed_new();
gtk_entry_set_text(GTK_ENTRY(entry),"hacker ");
gtk_entry_append_text(GTK_ENTRY(entry),"fts315");
gtk_container_add(GTK_CONTAINER(janela),fixo);
gtk_fixed_put(GTK_FIXED(fixo),entry,0,0);
gtk_widget_show_all(janela);
g_signal_connect(GTK_OBJECT(janela),"destroy",G_CALLBACK(gtk_main_quit),NULL);
gtk_main();
}
com a funçao gtk_entry_set_editable podemos impedir q alguem modifique o entry, para usar ele basta passar como argumento o ponteiro do entry e FALSE (o padrao e TRUE)
- Código:
#include <stdio.h>
#include <string.h>
#include <gtk/gtk.h>
int main(int argc, char **argv)
{
GtkWidget *janela, *entry, *fixo;
gtk_init(&argc,&argv);
janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
entry = gtk_entry_new();
fixo = gtk_fixed_new();
gtk_entry_set_text(GTK_ENTRY(entry),"hacker fts315");
gtk_entry_set_editable (GTK_ENTRY(entry),FALSE);
gtk_container_add(GTK_CONTAINER(janela),fixo);
gtk_fixed_put(GTK_FIXED(fixo),entry,0,0);
gtk_widget_show_all(janela);
g_signal_connect(GTK_OBJECT(janela),"destroy",G_CALLBACK(gtk_main_quit),NULL);
gtk_main();
}
com a funçao gtk_entry_set_visibility impedimos a visualizaçao do texto dentro do entry (perfeito para senha *-*), para usar ele basta passar como argumento o ponteiro do entry e FALSE (padrao e TRUE)
- Código:
#include <stdio.h>
#include <string.h>
#include <gtk/gtk.h>
int main(int argc, char **argv)
{
GtkWidget *janela, *entry, *fixo;
gtk_init(&argc,&argv);
janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
entry = gtk_entry_new();
fixo = gtk_fixed_new();
gtk_entry_set_text(GTK_ENTRY(entry),"hacker fts315");
gtk_entry_set_visibility(GTK_ENTRY(entry),FALSE);
gtk_container_add(GTK_CONTAINER(janela),fixo);
gtk_fixed_put(GTK_FIXED(fixo),entry,0,0);
gtk_widget_show_all(janela);
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]
com a funçao gtk_entry_set_max_length definimos um tamanho maximo para o entry, para usar ele basta passar como argumento o ponteiro do entry depois o tamanho
- Código:
#include <stdio.h>
#include <string.h>
#include <gtk/gtk.h>
int main(int argc, char **argv)
{
GtkWidget *janela, *entry, *fixo;
gtk_init(&argc,&argv);
janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
entry = gtk_entry_new();
fixo = gtk_fixed_new();
gtk_entry_set_text(GTK_ENTRY(entry),"hacker fts315");
gtk_entry_set_max_length(GTK_ENTRY(entry),10);
gtk_container_add(GTK_CONTAINER(janela),fixo);
gtk_fixed_put(GTK_FIXED(fixo),entry,0,0);
gtk_widget_show_all(janela);
g_signal_connect(GTK_OBJECT(janela),"destroy",G_CALLBACK(gtk_main_quit),NULL);
gtk_main();
}
bom galera existe outras funçoes para manipular o entry alem dessas q eu citei mais por enquanto ficamos apenas com essas ^^
by hacker fts315