Entenda o PHP-GTK
Esta segunda parte segue-se com o conceito de containers.
Lendo o primeiro artigo mencionei algo sobre containers, não sei se repararam mais eles são widgets que servem para "conter" outros widgets. O nosso container principal é o GtkWindow porque é nele que vão todos os outros. Lembram-se do conceito de cascateamento??? É isso, são containers que vão sendo encaixados uns aos outros. Vou citar alguns aqui como por exemplo GtkWindow, GtkTable, GtkVbox, GtkHbox, GtkFrame, etc. Eles são derivados do widget GtkContainer que também é derivada da GtkWiget. Como não temos muito o que falar de containers vou colocar alguns exemplos de utilização dos próprios:
Attach é um método para containers, serve para adicionar algo dentro do container, no exemplo acima eu inseri a variável $texto1 começando na coluna 0 até a coluna 1 e começando na linha 0 até a linha 1. Logo após inseri $texto2 começando na coluna 0 até a coluna 1 e linha 1 até linha 2.
Como podemos ver cada container tem um método de adição: add, pack_start, attach, etc....
Abaixo estão alguns métodos usados em containers:
set_border_width() = adiciona uma borda;
add() = adiciona um widget ao container;
remove() = remove um widget do container;
children() = retorna um array contendo os widgets presentes no container
focus() = seta o evento focus para dada direção
Morreram suas dúvidas??? :)))
É claro que nem todas as dúvidas foram tiradas mais também devemos ler a documentação do http://gtk.php.net caso precisamos de algo que não se descreve aqui. Vamos seguir na próxima e última página com os callbacks e signals (sinais).
Lendo o primeiro artigo mencionei algo sobre containers, não sei se repararam mais eles são widgets que servem para "conter" outros widgets. O nosso container principal é o GtkWindow porque é nele que vão todos os outros. Lembram-se do conceito de cascateamento??? É isso, são containers que vão sendo encaixados uns aos outros. Vou citar alguns aqui como por exemplo GtkWindow, GtkTable, GtkVbox, GtkHbox, GtkFrame, etc. Eles são derivados do widget GtkContainer que também é derivada da GtkWiget. Como não temos muito o que falar de containers vou colocar alguns exemplos de utilização dos próprios:
<?php GtkWindow(): $janela = &new GtkWindow(); $texto = &new GtkLabel("Este é um container principal"); $janela->add($texto); // Obs: container com um texto inserido. GtkTable(): $texto1 = &new GtkLabel("texto 1"); $texto2 = &new GtkLabel("texto 2"); // a sequencia de funcionamento da tabela é a seguinte GtkTable(linhas,colunas); $tabela = &new GtkTable(2,1); // adiciona um widget $tabela->attach($texto1,0,1,0,1,GTK_FILL,GTK_FILL,0,0); // adiciona um widget $tabela->attach($texto2,0,1,1,2,GTK_FILL,GTK_FILL,0,0); ?>
Attach é um método para containers, serve para adicionar algo dentro do container, no exemplo acima eu inseri a variável $texto1 começando na coluna 0 até a coluna 1 e começando na linha 0 até a linha 1. Logo após inseri $texto2 começando na coluna 0 até a coluna 1 e linha 1 até linha 2.
<?php GtkVbox(): $texto1 = &new GtkLabel("texto 1"); $caixavertical = &new GtkVBox(false,1); $caixavertical->pack_start($texto1,false,false); GtkFrame(): $texto1 = &new GtkLabel("texto 1"); $frame = &new GtkFrame("testando frame"); $frame->add($texto1); ?>
Como podemos ver cada container tem um método de adição: add, pack_start, attach, etc....
Abaixo estão alguns métodos usados em containers:
set_border_width() = adiciona uma borda;
add() = adiciona um widget ao container;
remove() = remove um widget do container;
children() = retorna um array contendo os widgets presentes no container
focus() = seta o evento focus para dada direção
Morreram suas dúvidas??? :)))
É claro que nem todas as dúvidas foram tiradas mais também devemos ler a documentação do http://gtk.php.net caso precisamos de algo que não se descreve aqui. Vamos seguir na próxima e última página com os callbacks e signals (sinais).
Cara!! Pra o tempo em que isso foi escrito... Tô de boa com a linguagem!! Apesar do aparente desprezo de alguns, php-gtk representa uma potencia da programação de interface gráfica: Alguns dos benefícios são relativos ao custo de desenvolvimento!! E depois que baixei o phpblender... pense num negócio que facilita legal a vida da gente!!
12/10/2005 9:38am
(~19 anos atrás)
Pow ontem eu instalei o PHP-GTK e rodeio os arquivos dele numa boa, porém hoje, fui rodar a calculadora em PHP-GTK e outros arquivos dele, não apareceu mais nada... o quê aconteceu?? alguem pode ajudar??
20/01/2004 4:42pm
(~21 anos atrás)
galera... quando postei o artigo não tinha notado que estava faltando uma parte.. agora está aí... e respondendo ao marcondes sobre os executáveis acesse o site http://www.priadoblender.com para obter mais informações sobre o próprio...
10/12/2003 12:38pm
(~21 anos atrás)
muito boa essa matéria, o GTK eh show msm.soh pra informar a PUC criou uma ferramenta chamada IUP q parece bastante com o GTK, ela explora as características nativas do sistema operacional, soh q por enquanto naum existe para PHP, soh pra C e uma tal de LUA, legal pra quem quer fazer softwares sem ter q "comprar" um delphi ou VB da vida...
10/12/2003 8:29am
(~21 anos atrás)
Bem, tentando responder a dúvida do marcodes, acho que não cara.. pelo que entendi do PHP-GTK, ele nada mais é que uma extensão do PHP, que é uma linguagem interpretada, e não compilada. Então é necessário instalar o PHP no cliente pra poder rodar aplicações do GTK.
Muito bom artigo mesmo, mas como o marcodes disse, seria ótimo se pudessemos gerar executáveis a partir disso. :).
Muito bom artigo mesmo, mas como o marcodes disse, seria ótimo se pudessemos gerar executáveis a partir disso. :).
10/12/2003 8:08am
(~21 anos atrás)
Thiago, ótimo seu artigo e facilitou bastante pra quem quer entrar no mundo GTK, verdadeiramente está bem facilitado... Agora criarei coragem para desenvolver algo com o PHP-GTK, detesto começar a trabalhar em algo que eu não saiba, mesmo que por cima, os conceitos básicos... Foi assim com XML, com o próprio PHP e com o Linux.
Parabéns... Vamos entrar nos containers, hehehe
Parabéns... Vamos entrar nos containers, hehehe
10/12/2003 5:24am
(~21 anos atrás)
Sou novo na área de programação e gostaria de saber se há possibilidade de fazer executáveis através dessa linguagem para facilitar a distribuíção de aplicativos feitos em PHP-GTK
09/12/2003 11:02pm
(~21 anos atrás)
Bom, como em qualquer projetinho
algumas dicas sao interessantes..
no outro artigo do nosso amigo
haviam algumas funções function pra la function pra cá.. e o que notei num arquivinho GTK que recebi de um amigo esses dias (um editor de texto) ele colocou todas estas funcoes como se faz em php num outro arquivo e faz referencia a elas depois
nos arquivos que precisar.. fica bem mais organizado
Abraços!
algumas dicas sao interessantes..
no outro artigo do nosso amigo
haviam algumas funções function pra la function pra cá.. e o que notei num arquivinho GTK que recebi de um amigo esses dias (um editor de texto) ele colocou todas estas funcoes como se faz em php num outro arquivo e faz referencia a elas depois
nos arquivos que precisar.. fica bem mais organizado
Abraços!
09/12/2003 8:59pm
(~21 anos atrás)
Sem comentários..
aliás..vai chover bons comentários aqui!
este exemplo do método connect ficou a coisa mais simples do mundo.. mas é isso que a pessoa precisa na hora de estudar, nada de coisas absurdamente complexas, se o que ela precisa entender é o simples..
é tipo estudar ER, quem já estudou o assunto sabe que não é um monstro como algumas parecem ser.
meus sinceros parabéns ficou simples, prático e objetivo o artigo.
aliás..vai chover bons comentários aqui!
este exemplo do método connect ficou a coisa mais simples do mundo.. mas é isso que a pessoa precisa na hora de estudar, nada de coisas absurdamente complexas, se o que ela precisa entender é o simples..
é tipo estudar ER, quem já estudou o assunto sabe que não é um monstro como algumas parecem ser.
meus sinceros parabéns ficou simples, prático e objetivo o artigo.
09/12/2003 8:54pm
(~21 anos atrás)