Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.

Você está aqui: GTK+ ::: Dicas & Truques ::: Formulários e Janelas

Como definir um ícone para a janela principal de sua aplicação GTK+

Quantidade de visualizações: 6625 vezes
Uma dúvida muito comum dos iniciantes na programação GTK+ é como definir um ícone para a janela principal da aplicação. Isso pode ser feito por meio da função gtk_window_set_icon() do objeto GtkWindow. Esta função recebe um ponteiro para a janela no qual o ícone será exibido e um ponteiro para um objeto GdkPixbuf, usado para guardar a imagem na memória. Note o uso de uma função personalizada para carregar a imagem a ser usada como ícone no objeto GdkPixbuf.

O ícone que definimos usando a função gtk_window_set_icon() é usado para representar a janela quando esta estiver minimizada. Alguns ambientes de desktop podem colocá-lo na barra de títulos da janela também. Este é o comportamento padrão esperado nos sistemas desktop modernos.

Veja uma aplicação GTK+ completa escrita em C e que usa um ícone chamado icone.png na janela principal. No exemplo o ícone foi disponibilizado na mesma pasta na qual o executável da aplicação está:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <gtk/gtk.h>

// protótipo da função que carrega o ícone
GdkPixbuf *carregar_icone(const gchar *);

// função personalizada usada para carregar o ícone a ser
// definido para a janela principal
GdkPixbuf *carregar_icone(const gchar *arquivo){
  GdkPixbuf *pixbuf;
  GError *erro = NULL;
  pixbuf = gdk_pixbuf_new_from_file(arquivo, &erro);

  if(!pixbuf){
    fprintf(stderr, "%s\n", erro->message);
  }

  return pixbuf;
}

int main(int argc, char *argv[]){
  // um ponteiro para um objeto GtkWidget
  GtkWidget *window;

  // inicializamos o GTK+ e as bibliotecas de suporte
  gtk_init(&argc, &argv);

  // vamos criar uma nova janela e definir seu título
  window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  gtk_window_set_title(GTK_WINDOW(window), "Estudos GTK+ com C");

  // vamos definir o ícone para a janela principal
  gtk_window_set_icon(GTK_WINDOW(window), carregar_icone("icone.png"));

  // exibimos a janela
  gtk_widget_show(window);

  // código que destrói a janela principal
  g_signal_connect_swapped(G_OBJECT(window), "destroy",
    G_CALLBACK(gtk_main_quit), NULL);

  // entramos no loop principal do GTK+
  gtk_main();

  // a aplicação GTK+ foi fechada, vamos sair
  return 0;
}


Link para compartilhar na Internet ou com seus amigos:

Veja mais Dicas e truques de GTK+

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby


E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser. Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book Apenas R$ 19,90


© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 45 usuários muito felizes estudando em nosso site.