Como faço para que as imagens apareçam nos botões no Glade Designer?

6

Não tenho certeza se isso é um bug ou apenas um recurso muito chato, mas não consigo exibir uma imagem em nenhum dos meus botões no Glade Designer.

Existe alguma propriedade que eu preciso mudar para forçá-la a exibir a imagem?

    
por RobinJ 23.06.2012 / 12:17

4 respostas

3

Acredito que isso seja porque, por padrão (não tenho certeza se é uma configuração do GNOME ou do GTK), nenhuma imagem é mostrada nos botões, então não tenho certeza se há alguma maneira de contornar isso.

Esta pergunta do Stackoverflow sugere imagens não mostradas nos botões devido a isso, o que eu suponho que se aplica a imagens personalizadas também.

Você pode tentar a solução alternativa mencionada nessa pergunta para ver se funciona para você:

from gi.repository import Gtk

settings = Gtk.Settings.get_default()
settings.props.gtk_button_images = True

O que eu também notei é que as imagens dos botões da barra de ferramentas não são afetadas por essa configuração e são sempre exibidas. Simplesmente certifique-se de prefixar ../media ao caminho da imagem no Glade, como Garry Cairns está mencionando em sua resposta.

    
por David Planella 24.06.2012 / 08:30
4

As etapas abaixo devem funcionar (a partir da aparência da sua pergunta, você pode começar na etapa 5, mas incluímos todas elas para futuros usuários).

  1. Verifique se a imagem do ícone que você deseja usar está em your_app/data/media
  2. selecione o widget para o qual você deseja aplicar a imagem no glade
  3. escolha icon widget em edit image no painel de propriedades do botão direito da ferramenta para adicionar um widget de imagem ao seu botão
  4. edite o widget de imagem que você acabou de criar para adicionar uma imagem usando o painel direito (selecione file name in edit image e navegue até sua imagem
  5. prefixar o nome do arquivo que aparece em file name com ../media/ para que o glade possa vê-lo.

Você pode ver um screencast desse processo de cerca de 33 minutos em diante no criar seu primeiro vídeo de aplicativo lançado por Jono Bacon.

    
por Garry Cairns 23.06.2012 / 13:29
0

Você também pode tentar fazer isso usando Python se o glade não funcionar para você:

 image = Gtk.Image()
 image.set_from_file("data/media/settings.png")
 image.show()

 button = self.builder.get_object("yourButton")
 button.add(image)
    
por unknownone 23.06.2012 / 21:47
0

Tudo está correto o que você fez na verdade ... o nome do arquivo "fb.ico" é o problema! dê o link completo para a sua imagem. Ele mostrará sua imagem em sua janela glade quando você executar um código. você sabe que: -)

    
por djgharphalia07 13.08.2015 / 13:32