• Artigos
  • Projetos
  • Download
  • Lista
  • Docs
  • Comunidade
  • ?

Encerrando aplicações no "X" da Janela

21/02/2008    Ler e Comentar

Acredito que um grande problema de quem está começando com o PHP-GTK, assim como eu, é na hora de fechar as aplicações.
O fato de simplesmente clicar no botão "X" da janela apenas destroy a janela, mas mantém o loop principal ainda ativo.

A solução pra isso é muito simples, e eu custei para descobrir!
Quando se fecha a janela, ela envia um sinal "delete-event". Basta conectar esse sinal à função Gtk::main_quit().
Com isso, ao fechar a janela, ela fecha também o loop principal.
Simples, não?!

<?
   
class Janela {
      function 
Janela(){
         
$window = $this->window = new GtkWindow();
         
$window->set_title('Fechar no X');
         
$window->set_default_size(351,220);
         
$window->connect_simple('delete_event','fecharJanela');
         
$window->show_all();
      }
   }

   function 
fecharJanela() {
      
Gtk::main_quit();
   }

   new 
Janela();

   
Gtk::main();
?>




Comentários

  Outra maneira 

também tinha esse problema, até encontrar na documentação do PHP-GTK a seguinte linha para parar o loooping do programa ao fechar a janela:

$janela->connect_simple('destroy', array('gtk', 'main_quit'));

=)

  Enviado por Relsi Ramone em 2008-03-20  

  Funcional 

É uma boa dica, pois ao terminar os programas em php-gtk, o processo continuava ativo e não liberava o prompt.

  Enviado por Alan Alencar da Silva em 2008-02-25  

 Adicionar Comentário
 login
 Senha
 Título
 Comentário

Livros


  • Artigos

    • Skins no PHP-GTK2
    • Instalação no Fedora 8/Kurumin 7.0

    Projetos

    • GTKSMS
    • SQLITE
    • Apache error log reader
    • GTKontas
  • Google

    Parceiros

 
Designed by Wolfgang Bartelme Designed by Wolfgang Bartelme

© 2006 Wordpress Themes | Theme (Not so) Fresh
XHTML CSS

PHP-GTK Brasil