Escrevendo aplicações GUI com PHP-GTK
Obviamente é muito difícil ensinar PHP-GTK em apenas um artigo, mas espero ter conseguido passar o básico sobre o assunto para você. Para finalizar, trago aqui um script. Um simples visualizador de arquivos de texto sem formatação (.php, .txt, etc).
O código do script:
A sua janela ficará mais ou menos assim:

Bom, se você notar bem no código, eu usei uma função diferente de meus outros exemplos:
$window->set_default_size((gdk::screen_width()-40), (gdk::screen_height()-40));
Gdk::screen_width() e gdk::screen_height() pegam a largura e a altura da tela do usuário. Então o tamanho desta janela terá de largura: gdk::screen_width()-40, ou seja 40 pixels menos do que a largura da tela. E de altura: gdk::screen_height()-40 (40 pixels a menos que a altura da tela).
Espero ter dado uma sede de PHP-GTK em vocês. Talvez em breve eu (ou alguém) coloque outros artigos sobre o assunto, para ensinar novas técnicas e um pouco mais, além do básico.
Se quiserem informações sobre funções, a melhor alternativa é recorrer ao manual:
http://gtk.php.net/
O código do script:
<?php
if (!class_exists('gtk')) {
if (strtoupper(substr(PHP_OS, 0,3) == 'WIN')) {
dl('php_gtk.dll');
} else {
dl('php_gtk.so');
}
}
function abrir() {
global $fs;
$fs->show_all();
}
function abrir_cancel() {
global $fs;
$fs->hide();
}
function abrir_ok() {
global $window;
global $fs;
global $conteudo;
global $arquivo;
$arquivo = $fs->get_filename();
$window->set_title("PGpad ($arquivo)");
$conteudo->set_point(0);
$conteudo->forward_delete($conteudo->get_length());
$f_cont = @fopen($fs->get_filename(), "r");
$conteudo->insert(null, null, null, str_replace("
","",fread($f_cont, filesize($fs->get_filename()))));
@fclose($f_cont);
unset($f_cont);
$fs->hide();
}
function destroy() {
gtk::main_quit();
}
function delete_event() {
return false;
}
$fs = &new GtkFileSelection("Abrir");
$ok_button = $fs->ok_button;
$ok_button->connect("clicked", "abrir_ok", $fs);
$cancel_button = $fs->cancel_button;
$cancel_button->connect("clicked", "abrir_cancel");
$window = &new GtkWindow();
$window->connect("destroy", "destroy");
$window->connect("delete-event", "delete_event");
$window->set_border_width(5);
$window->set_title("PGpad");
$window->set_position(GTK_WIN_POS_CENTER);
$window->set_default_size((gdk::screen_width()-40), (gdk::screen_height()-40));
$grid = &new GtkTable(1, 2);
$grid->set_row_spacings(4);
$grid->set_col_spacings(4);
$window->add($grid);
$botao_abrir = &new GtkButton("Abrir");
$botao_abrir->connect("clicked","abrir");
$grid->attach($botao_abrir, 0, 1, 0, 1, GTK_FILL, GTK_SHRINK);
$conteudo = &new GtkText();
$conteudo->set_editable(false);
$scrolled_window = &new GtkScrolledWindow();
$scrolled_window->set_policy(GTK_POLICY_ALWAYS, GTK_POLICY_ALWAYS);
$scrolled_window->add($conteudo);
$grid->attach($scrolled_window, 0, 1, 1, 2);
$conteudo->insert(null, null, null, "Clique no botão Abrir para escolher o arquivo a ser visualizado.");
$window->show_all();
Gtk::main();
?>
A sua janela ficará mais ou menos assim:
Bom, se você notar bem no código, eu usei uma função diferente de meus outros exemplos:
$window->set_default_size((gdk::screen_width()-40), (gdk::screen_height()-40));
Gdk::screen_width() e gdk::screen_height() pegam a largura e a altura da tela do usuário. Então o tamanho desta janela terá de largura: gdk::screen_width()-40, ou seja 40 pixels menos do que a largura da tela. E de altura: gdk::screen_height()-40 (40 pixels a menos que a altura da tela).
Espero ter dado uma sede de PHP-GTK em vocês. Talvez em breve eu (ou alguém) coloque outros artigos sobre o assunto, para ensinar novas técnicas e um pouco mais, além do básico.
Se quiserem informações sobre funções, a melhor alternativa é recorrer ao manual:
http://gtk.php.net/
Pessoal tenho um grupo de php gtk com bastantes dicas interessantes
acessem lá e vejam
http://groups-beta.google.com/group/GTK-PORTUGAL
Para mais contactem-me no meu site http://onidesk.sytes.net
acessem lá e vejam
http://groups-beta.google.com/group/GTK-PORTUGAL
Para mais contactem-me no meu site http://onidesk.sytes.net
25/05/2005 7:12am
(~20 anos atrás)
Se alguém souber de um compilador de arquivos GTK posta ae o link...
13/12/2003 1:58pm
(~21 anos atrás)
Pensei em instalar essa biblioteca doida, mas pintou uma pequena dúvida:
O que o cliente precisa ter instalado para ver a aplicação?
O que o cliente precisa ter instalado para ver a aplicação?
08/12/2003 7:47am
(~21 anos atrás)
Buenas !
Tchê, ate onte eu sei nao, pois o php-gtk vai ler o seu arquivo .php interpretar-lo e depois executar.
Valeu,
Gordo
Tchê, ate onte eu sei nao, pois o php-gtk vai ler o seu arquivo .php interpretar-lo e depois executar.
Valeu,
Gordo
11/09/2002 2:43pm
(~23 anos atrás)
Aplicação GUI é uma aplicação que faz uso de interface gráfica com o usuário. Serve pra que algumas pessoas possam usar o computador, pois para elas de outra forma seria difícil demais.
28/06/2002 11:01pm
(~23 anos atrás)
Bem. Delphi é um editor. A linguagem é o object pascal. E sem a ajuda do delphi, essa linguagem também é bem xaropinha.
28/06/2002 10:59pm
(~23 anos atrás)
O propósito do php-gtk, como o rodrigo disse, é provar que o php é orientado a objetos, e pode fazer aplicações client-side usando gui. Isto mostra que o objetivo não é disputar mercado com tecnologias como delphi ou visual basic.
02/06/2002 4:31pm
(~23 anos atrás)
http://onidesk.sytes.net