Em 2003 tentei instalar o php-gtk sem sucesso, e devido à correria, deixei de lado. Agora, com o auxílio da lista de usuários do PHP-GTK e do site, a instalação foi possível e neste artigo vou tecer alguns comentários sobre o php-gtk, que estou usando a 1 semana...
1) Parece óbvio, mas lembre-se PHP-GTK não é PHP!!! Voce não precisa de um servidor, nem mesmo uma simulação como o apache, O PHP GTK vai rodar somente no seu computador.
2)Sempre usei o PHP Coder para fazer os programas de PHP, mas se abrir um script neste programa não vou poder testá-lo da maneira como fazia antes.
Pode testá-lo através da linha de comando do DOS C:\php-gtk2\php.exe , o que é muito chato para ficarmos testando o programa. use o bloco de notas e crie um arquivo com a extensão(.bat) com uma unica linha - c:\php-gtk2\php.exe , aí é só clicar neste arquivo para poder testar.
A não ser que você queira ver a saída do seu script no pront do dos, esqueça os comandos echo e print, toda a saída deverá ser feita com os comandos do GTK.
3) Para a formatação de entrada e saida de dados , com voce não usa o HTML, tem que aprender os comandos do GTK, e é justamente isto que e novo para maioria de nos.
Vai ai o meu primeiro script: atenção para o sistema dos paramentro do grid.
Código
<? $window = new GtkWindow; $window->set_border_width(20); //Tabela // grid funciona em um sitema de matriz (de -até) começando em 0 // colunainicio,colunafim, linhainicio,linhafim // 0101 1201 2301 3401 // 0112 1212 2312 3412 // 0123 1223 2323 3423
$grid = new GtkTable(7, 5); $grid->set_row_spacings(5); $grid->set_col_spacings(5);
//Label Primeiro Nome $label = new GtkLabel(); $label->set_text("Caixa toxaxica (cm)"); $grid->attach($label, 0,1,1,2);
//Caixa de Texto Primeiro Nome $entry = new GtkEntry(); $entry->set_editable(true); $entry->set_max_length(2); $grid->attach($entry, 1, 2, 1, 2);
//Caixa de Texto Segundo Nome $entry2 = new GtkEntry(); $entry2->set_editable(true); $entry2->set_max_length(2); $grid->attach($entry2, 1, 2, 2, 3);
//Label Segundo Nome $label2 = new GtkLabel(); $label2->set_text("Indice de mensuração da pata (cm)"); $grid->attach($label2, 0, 1, 2, 3);
//Botão Calcular $button = new GtkButton("calcular"); $button->connect("clicked","calcula"); $grid->attach($button, 0, 2, 3, 4);// note que ocupa colunas de 0 ate 2
// resultado $label3 = new GtkLabel(); $label3->set_text("resultado massa corporal"); $grid->attach($label3, 0, 1, 4, 5);
$label33 = new GtkLabel(); $label33->set_text("Para mais informações consulte www.gatopersa.net"); $grid->attach($label33, 0, 2, 5, 6); // note que ocupa colunas de 0 ate 2
$window->show_all(); $window->set_focus($entry); // posiciona o cursor gtk::main();
function calcula() { global $entry; global$entry2; global $label3 ; // basta esquecer uma declaração e o programa não funciona //e o que é pior não dá mensagem de erro global $label23; $caixatoraxica = $entry->get_text(); $lim= $entry2->get_text(); # porcentagem de gordura corporal $gordura =round( ((($caixatoraxica/0.7062)-$lim)/0.9156)-$lim, 2); if( $gordura < 11){ $resultado="abaixo do peso";} if( ($gordura <= 31)and($gordura >= 11)){ $resultado="peso normal";} if( $gordura > 31){$resultado="acima do peso";} $gordura =" indice de massacorporal felina= ".$gordura; $label3->set_text("$gordura"); $label23->set_text(" $resultado"); } ?>
Imagem
Comentários
Dica importante
Obrigado por postar as dicas, foram muito importantes no meu caso.