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

Como mudar a cor do fundo de um GtkLabel

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 como o GtkLabel, necessitamos da ajuda do GtkEventBox. Com ele conseguimos mais eventos e mais ajustes ao GtkLabel.

Imagem

Captura_de_tela-Teste

Solução

Criar um GtkEventBox() e adiciona-se um GtkLabel();
Mudamos a cor do GtkEventBox().

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 notebook
         $this->widgets['evtTeste'] = new GtkEventBox();
         
         // Cria o label
         $this->widgets['lblTeste'] = new GtkLabel("Meu Label");
         $this->widgets['evtTeste']->add($this->widgets['lblTeste']);
         
         // Muda a cor do GtkEventBox
         $this->widgets['evtTeste']->modify_bg(
            Gtk::STATE_NORMAL,
            GdkColor::parse("#FFD79B")
         );
         
         // Cria um fixed
         $fix = new GtkFixed();
         $fix->put($this->widgets['evtTeste'], 8, 8);
         
         // 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($fix);
         $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_bg.php

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