Página Inicial > Gtk/Gdk, GtkEntry > Como mudar a cor do fundo de um GtkEntry

Como mudar a cor do fundo de um GtkEntry

Explicação

Um programador sempre necessita estilizar suas aplicações para facilitar a interação com o usuário. O método mais eficaz é a utilização de cores, elas facilitam bastante o usuário a deduzir certas coisas no sistema, como um cadastro bloqueado, o estado do sistema (busca? inserção? edição?). Para este efeito em algum widgets isso é feito facilmente com o método modify_base() do GtkWidget().

Imagem

Captura_de_tela-Teste-1

Solução

Mudar a cor do GtkEntry com o método modify_base().

Exemplo

<?php
   // Classe de testes
   class Teste
   {
      // Vetor que armazena todos os widgets da interface
      public $widgets = array();
      
      // Construtor da classe
      public function __construct()
      {
         // Cria o container
         $fixed = new GtkFixed();
         
         // Cria o Entry
         $this->widgets['txtTeste'] = new GtkEntry();
         $this->widgets['txtTeste']->set_size_request(100, 23);
         $fixed->put($this->widgets['txtTeste'], 8, 8);
         
         // Muda a cor do Entry
         $this->widgets['txtTeste']->modify_base(
            Gtk::STATE_NORMAL,
            GdkColor::parse("#FFD79B")
         );
         
         // Cria a janela
         $this->widgets['frmTeste'] = new GtkWindow();
         $this->widgets['frmTeste']->set_size_request(300, 200);
         $this->widgets['frmTeste']->set_resizable(FALSE);
         $this->widgets['frmTeste']->set_title("Teste");
         $this->widgets['frmTeste']->add($fixed);
         $this->widgets['frmTeste']->set_position(GTK::WIN_POS_CENTER);
         $this->widgets['frmTeste']->show_all();
         
         // Conecta o destroy
         $this->widgets['frmTeste']->connect_simple(
            "destroy",
            array("Gtk", "main_quit")
         );
      }
   }

   // Inicia a aplicação
   $teste = new Teste();
   gtk::main();
 

Referências

http://gtk.php.net/manual/en/gtk.gtkwidget.method.modify_base.php

Categories: Gtk/Gdk, GtkEntry Tags:
  1. Nenhum comentário ainda.
  1. Nenhum trackback ainda.