Este artigo tem como objetivo apresentar a linguagem php-GTK e a facilidade de sua programação, independente do grau de conhecimento de cada interessado em desenvolver softwares com uma linguagem gráfica, portável e prática.
Aqui informamos ao interpretador do PHP que deve ser usada a biblioteca do
php-GTK e deixamos que ele reconheça em que sistema operacional
estamos trabalhando por meio do comando PHP_SHLIB_SUFFIX, fazendo que ele dê o sufixo correto para a biblioteca ("so" no Linux, "dll" no Windows).
$win = new gtkwindow();
Este é o primeiro objeto a ser criado geralmente: a janela da aplicação. Criamos a variável $win dizendo que ela é um objeto do tipo gtkWindow (janela GTK). Instanciamos o objeto gtkWindow.
$lbl = new gtklabel('olá mundo!');
Esta é a label que irá conter nossa mensagem de exemplo. Entre os parênteses informamos a string conteúdo da label.
$win->add($lbl);
Um dos detalhes legais do GTK: o empacotamento. Aqui adicionamos a label à janela principal que criamos, sem isso a label simplesmente existiria em nosso código, mas não poderíamos vê-la quando a janela fosse exibida; todos os Widgets (palavra nova? esses são os objetos do php-GTK) devem ser colocados numa janela para serem visualizados.
$win->set_default_size(200,100);
Esta linha é para mostrar como se trabalha com as propriedades dos widgets; neste caso vê-se que está sendo definido um tamanho para a janela.
Todos os objetos possuem propriedades e eventos. Nesta linha conectamos o evento "destroy" da janela ao evento de saída do GTK. Caso você queira associar este evento a uma outra função qualquer que criou, bastaria fazer:
$win->connect_object('destroy','nome_da_função');
ou
$win->connect_object('destroy','nome_da_função', 'parâmetro1', 'parâmetro2');
etc...
$win->show_all();
Aqui é que dizemos à janela que ela deve ser exibida e todos os widgets que estão nela. Se usássemos apenas "$win->show();" a label não apareceria mesmo estando dentro da janela.
gtk::main();
Loop principal do php-GTK, ele é que inicia a aplicação.
[2] Comentário enviado por pink em 18/04/2006 - 19:00h
Amei seu artigo, já faz parte dos meus favoritos e a linguagem que eu mais gosto é PHP, uso bastante a extensão GTK+ Toolkit que permite construir aplicações GUI client-side com interface orientada a objeto, sendo assim PHP-GTK une o poder e a flexibilidade do PHP com o conjunto de componentes gráficos do GTK, d+ é 10!
[5] Comentário enviado por zendrael em 27/04/2006 - 10:15h
Olá pa72!
Você precisa ter instalado o php-gtk nas máquinas sim, ou seja, o interpretador do php-gtk (tanto em máquinas windows, linux e etc...) e você vai rodar seus programas assim:
c:\phpgtk\php c:\programa.php (no ruindows)
(aqui estou supondo que os caminhos sejam estes)
php programa.php (linux)
(ou pelo caminho do interpretador e caminho do programa)
[10] Comentário enviado por lukeholm em 16/05/2017 - 09:54h
Excelente artigo introduzindo a funcionalidade do PHP-GTK. A princípio, parece ser algo pra ser usado mais pela pessoa propriamente, como por exemplo ao invés de fazer um script em uma página, fazer usando o gtk e rodar no Gnome. Gostaria de avaliar se daria pra fazer algo "comercial" com isso. Por exemplo: Existiria alguma forma de ocultar o código do aplicativo gerado? Existe alguma forma de fazer o deploy, uma vez que ele depende do php-GTK instalado na máquina destino? Para que ele possa concorrer em algum nível com outras linguagens que possuem capacidade de geração para desktop, seria necessário esse mínimo. Voce saberia dizer algo sobre?
[11] Comentário enviado por Zendrael em 17/05/2017 - 08:55h
[10] Comentário enviado por lukeholm em 16/05/2017 - 09:54h
Excelente artigo introduzindo a funcionalidade do PHP-GTK. A princípio, parece ser algo pra ser usado mais pela pessoa propriamente, como por exemplo ao invés de fazer um script em uma página, fazer usando o gtk e rodar no Gnome. Gostaria de avaliar se daria pra fazer algo "comercial" com isso. Por exemplo: Existiria alguma forma de ocultar o código do aplicativo gerado? Existe alguma forma de fazer o deploy, uma vez que ele depende do php-GTK instalado na máquina destino? Para que ele possa concorrer em algum nível com outras linguagens que possuem capacidade de geração para desktop, seria necessário esse mínimo. Voce saberia dizer algo sobre?
Obrigado
Olá lukeholm!
O PHP-GTK é feito para se construir aplicações desktop, que funcionem inclusive offline. No site oficial do PHP-GTK Brasil há várias matérias de uso e exemplos para a construção de aplicações comerciais. É sim possível empacotar o PHP-GTK e sua aplicação para instalação em um cliente, fazendo o deploy. Quanto a ocultar o código sei que é possível mas já faz algum tempo que não trabalho com a tecnologia para poder indicar uma boa ferramenta para tal...
Fico feliz que tenha gostado do artigo!