Um recurso utilizado em linguagens como Delphi ou VB é a splash screen, uma janela de espera que fica sendo exibida antes da carga do programa. É interessante, pois dá para colocar uma imagem como o logotipo do sistema, dentre outros. Escrevi um pequeno programa que demonstar como fazer a splash screen em PHP-GTK.
Texto
Código
<?
########################################################### # Script para demonstração de como criar uma splash screen # Escrito por Pablo Dall'Oglio em 06/Agosto/2004 # a imagem tulip.xpm pode ser encontrada em: # http://www.php-gtk.com.br/components/artigo/ferrari.png ###########################################################
# Cria Splash window $splash = new GtkWindow(GTK::WINDOW_POPUP); $splash->set_position(GTK::WIN_POS_CENTER); $splash->realize();
# Faz a leitura de uma imagem $image = GtkImage::new_from_file('ferrari.png');
# Coloca a imagem dentro da janela. $splash->add($image); $splash->show_all();
# Dentro de 2 segundos, executa a função Construct Gtk::timeout_add(2000, 'Construct');
# Função que monta a janela principal function Construct() { # Fecha a janela de splash global $splash; $splash->hide();
# Cria a janela principal $MainWindow =new GtkWindow; $MainWindow->set_title('Tela Principal'); $MainWindow->set_border_width(2); $MainWindow->set_size_request(360, 160); $MainWindow->set_position(GTK::WIN_POS_CENTER); $MainWindow->connect_simple('destroy', array('Gtk', 'main_quit'));
# Exibe a janela... $MainWindow->show_all(); } Gtk::main(); ?>
Imagem
Comentários
É mesmo necessário essa questão dos 2 segundos, ou é só pra demonstrar que funciona? Em um sistema mais pesado, ele não vai ser necessário, né?