+1

Criando uma calculadora simples em PHP-GTK

criado por Thiago Ribeiro em 05/12/2003 9:42am
Antes de prosseguir com este eu aconselho a ler o artigo falando sobre o básico do PHP-GTK.

Bom vamos trabalhar essencialmente com as classes GtkVBox (caixa vertical) e GtkHBox (caixa horizontal) e partindo daí também utilizaremos o pack_start() para adicionar widgets nos próprios. Primeiramente darei um exemplo simples do funcionamento de ambos. Vamos lá então.

Exemplo de utlização do GtkVBox:

<?php
// Verifica qual o sistema utilizado
if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN')
    dl('php_gtk.dll');
else
    dl('php_gtk.so');
                                                                                                                                                                       
// Cria função para associação de saida
function destroy() {
    Gtk::main_quit();
    echo "Saindo...\n";
}
                                                                                                                                                                       
// Cria uma nova janela, associa com a função de saída, atribui um título e uma borda
$window = &new GtkWindow;
$window->connect('destroy','destroy');
$window->set_title("Exemplo do GtkVBox");
$window->set_border_width(5);
                                                                                                                                                                       
// Cria três labels para serem adicionados a nossa caixa vertical
$texto1 = &new GtkLabel("Primeiro texto");
$espaco = &new GtkLabel("");
$texto2 = &new GtkLabel("Segundo texto");
                                                                                                                                                                       
// Cria uma caixa vertical com 3 linhas e valores de tamanho estáticos, ou seja, se você 
// tentar redimensionar sua janela os valores permanecerão na mesma distância entre si. 
// Isto é definido colocando-se o "false" na classe. Se este não contiver nada terá o 
// mesmo que "true", habilitando o processo inverso (os valores se distanciarão quando 
// redimensionar sua janela).
$vbox = &new GtkVBox(false,3);
                                                                                                                                                                       
// Adicionando os valores, os valores false aqui referen-se ao mesmo príncipio do item 
// acima. Faça o teste se quiser. A Única diferença abaixo é que temos x,y (false,false)

$vbox->pack_start($texto1,false,false);
$vbox->pack_start($espaco,false,false);
$vbox->pack_start($texto2,false,false);
                                                                                                                                                                       
// Adiciona a caixa a janela principal
$window->add($vbox);

// Mostra tudo
$window->show_all();
                                                                                                                                                                       
Gtk::main();
                                                                                                                                                                       
?>
                                                                                                                                                                       

O exemplo acima deve-se sustentar como nos valores da imagem abaixo:




Viram como é simples?

Comentários:

Mostrando 1 - 10 de 12 comentários
muito legal O PHP-GTK....
16/03/2004 6:18pm (~12 anos atrás)

Coloquei um artigo agora pra revisao
e vou colocar outro ainda.. só isso já ficarão uns 6 em espera.. não sei qual coloco primeiro ..

de qualquer forma preciso primeiro fazer um mini-sistema em GTK pra depois explicar como e o que fazer..

alguma idéia fora a locadora ?

09/12/2003 5:49am (~13 anos atrás)

Diogo Gomes disse:
Marcelo, porque não seguir a idéia do Thiago e evoluir no projeto. Exlicar a base orientada a projeto. Uma locadora por exemplo...
08/12/2003 5:24pm (~13 anos atrás)

bom, eu particularmente ia começar um artigo ensinando step-by-step mas ai vi um artigo do Luiz Cardoso se eu não me engano

perdão se errei o nome..

ele explicou muito bem como desenhar a primeira tela e tudo mais.. eu achei interessante..

A única crítica(construtiva) é que poderia ser mais didático e menos teórico.. não adianta falar widget se o cara não entender primeiro o que é um widget

dai pra explicar container o cara ja fala:
é um conjunto de widgets.. mas poxa.. eu não entendi nem o que é widget, logo, o cara passa a não entender o container e assim vai!
08/12/2003 8:44am (~13 anos atrás)

a grande dificuldade para aprender php-gtk é também a grande falta de doc... postei este artigo para tentar dar uma clareada pro pessoal. o código de lógica ta meio zuado.. poderia ser feito com case sei la... mais a intenção foi mostrar como desenhar as telas, etc.. é uma coisa que a maioria tem dificuldade..um projeto de php-gtk seria uma coisa bem legal.. acho que as coisas deveriam começar bem por baixo... por exemplo.. alternativas livres para programas de bibliotecas, video locadoras, comercios, etc.. ia ser bem legal algo assim...
08/12/2003 6:34am (~13 anos atrás)

Bom, vamos lá..

pensei no nome:
"PHP-GTK mini-curso"

bom, vou começar a preparar o conteúdo e quando estiver pronto eu aviso!

Abraços!
06/12/2003 9:17am (~13 anos atrás)

Diogo Gomes disse:
Ótima idéia, uma espécie de aula coletiva, onde todos vão contribuir, tanto nos artigos, nas FAQ's e nos scripts. Além do consagrado fórum...
06/12/2003 8:12am (~13 anos atrás)

Pessoal.. eu quero idéias para os meus próximos artigos e Diogo, esta com certeza será uma delas.. também tenho recebido críticas construtivas do André por exemplo sobre os meus artigos e vou fazer de tudo pra melhorar..
então lá vai..

O que vocês (todo mundo) acham de tutoriais ensinando não toda a teoria da GTK, mas sim, simples telinhas com um botãozinho por exemplo, dai num segundo artigo, uma telinha com um botão e um campo text.. na terceira um pequeno form.. na quarta uma conexao ao banco.. na quinta.. um programinha de envio de email via GTK e por ai vai..

Não que eu saiba fazer tudo isso ok ? mas irei aprendendo com vocês. só que teria que ser um mini-curso de PHP-GTK e como eu tenho muito interesse em dar aulas (lecionar e tudo mais) serviria como preparativo..

O que o pessoal acha da idéia ?
06/12/2003 7:23am (~13 anos atrás)

Diogo Gomes disse:
A falta no PHP-GTK bons professores, que se interessem e possam passar de uma forma mais simples, o GTK acaba se tornando distante pra quem não se ambienta com OO e como isso acaba se tornando uma barreira, a área fica com pouquíssimos especialistas... Dei uma olhada no código fonte do artigo e do Agata e não parece difícil, só que falta mais material básico e introdutório, para que não seja necessário essa análise de código pra quem está aprendendo. O PHPBrasil pode servir pra isso, publicando mais artigos sobre o assunto.
O PHP-GTK surpreende todo mundo, pois quando está apenas no browser quem não conhece a linguagem apenas fala que é a mesma coisa que o ASP ou ColdFusion ou outras... Mas quando se apresenta o PHP-GTK, qualquer um passa a ver o PHP de outra forma, como é na realidade, uma linguagem que cada vez mais vem evoluindo.
06/12/2003 6:38am (~13 anos atrás)

Diogo,

Eu particularmente também sou um entusiasta (só de nome) do GTK.. gosto pra caramba.. apesar de não trabalhar muito com ele.. o que falta pro nosso amigo é explicação

eu pensei até numa classe para facilitar o uso .. nao sei se seria legal abstrair isso numa classe e disponibilizar..

e sobre o artigo eu achei legal pra caramba a iniciativa..

só que eu queria ver formas organizadas de trabalhar-se com a gtk.. algo como um pequeno-grande sisteminha rodando.. que fosse usando varios modulos separando em arquivos etc..
05/12/2003 8:25pm (~13 anos atrás)

Novo Comentário:

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