+2

Entenda o PHP-GTK

criado por Thiago Ribeiro em 09/12/2003 8:58pm
Esta parte é também bem simples de se entender. Porque sinais são nada mais de ações ou mensagens emitidas pelos widgets. Para ser mais exato são respostas que o programa aguarda de algum widget. Por exemplo, o simples fato de um usuário enviar um texto através de uma caixa de texto é um sinal aguardado ou não pelo programa. Desde que seja definido. Para o usuário enviar o texto ele teve que "clicar" em algum botão, e nesse ato de clicar um sinal foi emitido, e supostamente foi emitido o sinal de "clicked" que está definido para o botão, ou se preferir o sinal de "selected" quando um item de seu menu é ativado. Assim com o fato de um sinal ser emitido podemos registrar as famosas e temidas callbacks (brincadeira) para que fiquem ligadas quando o sinal for emitido... Callbacks na verdade são funções que aguardam o sinal emitido pelo widget e reagem de acordo com o que foi definido pelo programador. Na parte onde falo de widget criei a função sair() onde sempre escrevo Saindo... quando o programa é finalizado. O que ocorre é o seguinte, quando o sinal de "destroy" (destruição) é emitido eu conecto esse sinal a minha função. Se entendeu como isso funciona você já sabe o que é uma callback. Um callback é uma função própria do programador e é conectada a um sinal através de um simples "connect" por exemplo.

Vamos seguir com um exemplo simples de conexão de sinais:

<?php
function altera() {
    global $botao;
    $botao->set_text("Valor final");
}
                                                                                                                                                                         
$botao = &new GtkButton("");
$botao->set_text("Valor inicial");
                                                                                                                                                                         
$botao->connect('clicked','altera');
                                                                                                                                                                         ?>

O código acima agiria de uma maneira que quando o botão fosse clicado o valor do texto do próprio seria alterado. Viram como não existe dificuldades em fazer-se isso?

Espero que tenha ajudado e finalizado com dúvidas de bastante gente. A idéia desse artigo é mostrar como é simples usar o PHP-GTK mesmo que o processo de documentação ainda é um pouco fraco perto das outras linguagens e também levar os programadores de Visual Basic, Delphi, etc a usar um sistema free. Mesmo que escreva a aplicação em um Linux por exemplo e queira exportar pra um Rwindows não vai ter problemas com isso. Até mais.

Comentários:

Mostrando 1 - 9 de 9 comentários
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 (~12 anos atrás)

luish disse:
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 (~14 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 (~14 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 (~14 anos atrás)

Newton Wagner disse:
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. :).
10/12/2003 8:08am (~14 anos atrás)

Diogo Gomes disse:
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
10/12/2003 5:24am (~14 anos atrás)

marco antonio disse:
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 (~14 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!
09/12/2003 8:59pm (~14 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.
09/12/2003 8:54pm (~14 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)