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: 6516 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:

Vamos testar seus conhecimentos em JavaScript

A instrução default é obrigatória na construção switch...case...default do JavaScript?

A) Sim

B) Não
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em

Vantagens e Desvantagens do Concreto Armado

O concreto simples é formado pela mistura entre cimento, agregados (miúdos e graúdos) e água. A junção de barras de aço na forma de armaduras com esse material resulta no concreto armado.

Com relação às vantagens da utilização do concreto armado, analise as afirmações a seguir:

I. Os processos de construção de estruturas de concreto armado são conhecidos, e a sua execução não exige mão de obra com elevado nível de qualificação.

II. A grande massa e a rigidez dos elementos de concreto armado minimizam os efeitos de vibrações e oscilações decorrentes do vento e de utilização.

III. Pelo fato de as estruturas de concreto serem monolíticas, elas apresentam facilidade em serem moldadas.

Qual(is) está(ão) correta(s)?

A) Apenas I.

B) Apenas II.

C) Apenas III.

D) I e II.

E) II e III.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica

Classificação de turbinas

O processo de conversão de energia hidráulica em energia mecânica em uma turbina pode também ser utilizado para uma classificação em turbinas de ação ou de reação.

Considerando as turbinas de reação, qual afirmativa está correta?

A) As turbinas de reação são similares às de ação e operam com pressão variável.

B) As turbinas de reação são as turbinas que têm pressão constante no sistema.

C) Nas turbinas de reação, a água tem pressão variando desde a entrada até a saída.

D) As turbinas de ação correspondem a um subgrupo das turbinas de reação mista.

E) Nas turbinas de reação, o fluido converte energia mecânica em energia hidráulica.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais

Instalações prediais de combate a incêndio

O fogo é fundamental para o desenvolvimento da humanidade, mas é muito danoso às edificações, visto que pode causar prejuízos financeiros e sociais. Para tanto, as edificações necessitam de instalações prediais de combate a incêndio, que são projetadas para evitar prejuízos materiais e de vida decorrentes de um incêndio na edificação.

Sobre as instalações prediais de combate a incêndio, são feitas as seguintes proposições:

I - Têm sistemas concebidos para preservar a vida dos ocupantes das edificações e de áreas de risco, em caso de incêndio.

II - São projetadas com dispositivos que dificultam a propagação do fogo, diminuindo os prejuízos ao patrimônio e ao meio ambiente.

III - São concebidas para controlar e extinguir o incêndio, bem como favorecer a entrada do corpo de bombeiros na edificação.

Quais proposições estão corretas?

A) I, II e III.

B) I e II.

C) II e III.

D) I e III.

E) Apenas a III.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Python

Qual o resultado da execução do seguinte código Python?

palavra = "ESTUDAR"
resultado = palavra[::-1]
print(resultado)

A) ESTUDAR

B) EST

C) RADUTSE

D) TUDAR

E) ESTUDA
Verificar Resposta Estudar Cards Todas as Questões

Veja mais Dicas e truques de GTK+

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

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



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