Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

Você está aqui: GTK+ ::: Gerenciadores de Layout ::: GtkFixed

Entendendo o gerenciador de layout GtkFixed do GTK+

Quantidade de visualizações: 6230 vezes
O gerenciador de layout GtkFixed é um container que nos permite posicionar os controles da aplicação em posições fixas e com tamanhos pré-definidos. Tudo isso definido em pixels. Ao fazermos isso, temos a certeza de que os controles não serão reposicionados, como acontece com outros gerenciadores de layout.

Embora tentador, o uso deste gerenciador deve ser evitado a maior parte do tempo. Particularmente eu o uso apenas para protótipos ou janelas cuja disposição dos elementos será temporária.

O uso do gerenciador de layout GtkFixed traz várias desvantagens, entre elas podemos citar a imcompatibilidade com temas, visto que estes alteram os tamanhos dos componentes da janela. Além disso, há o problema com as fontes. Situações nas quais a fonte usado durante o desenvolvimento da aplicação não está disponível na máquina do usuário é muito mais frequente que pensamos. E, ao aplicar uma fonte diferente e, talvez, com tamanho diferente, um layout fixo não ficará nada atrativo.

Um gerenciador de layout GtkFixed pode ser criado da seguinte forma:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

GtkWidget *layout = gtk_fixed_new();

Para adicionar um controle a um gerenciador GtkFixed podemos usar a seguinte função:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

gtk_fixed_put(GtkFixed *fixed, GtkWidget *widget, gint x, gint y);

Aqui *fixed é um ponteiro para o gerenciador de layout, *widget é um ponteiro para para o controle que está sendo adicionado e x e y são as posições horizontais e verticais. Veja uma linha de código usada para posicionar uma caixa de texto GtkEntry com o nome de txt:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

gtk_fixed_put(GTK_FIXED(layout), txt, 10, 10);


Veja agora um código completo para uma aplicação que usa o gerenciador de layout GtkFixed:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

#include <gtk/gtk.h>

int main(int argc, char *argv[]){
  // inicializamos o GTK+ e as bibliotecas de suporte
  gtk_init(&argc, &argv);

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

  // vamos definir a largura e altura da janela
  gtk_window_set_default_size(GTK_WINDOW(janela), 400, 200);

  // vamos usar o gerenciador de layout GtkFixed
  GtkWidget *layout = gtk_fixed_new();
  
  // vamos criar uma caixa de texto GtkEntry
  GtkWidget *txt = gtk_entry_new();
  // vamos definir a largura e altura da caixa de texto
  gtk_widget_set_size_request(txt, 150, 30);

  // vamos criar um botão GtkButton
  GtkWidget *btn = gtk_button_new_with_label("OK");
  // vamos definir a largura e altura do botão
  gtk_widget_set_size_request(btn, 80, 30);

  // adicionamos os controles ao layout
  gtk_fixed_put(GTK_FIXED(layout), txt, 10, 10);
  gtk_fixed_put(GTK_FIXED(layout), btn, 165, 10);

  // adicionamos o GtkFixed à janela principal
  gtk_container_add(GTK_CONTAINER(janela), layout);
  
  // exibimos a janela e seus componentes
  gtk_widget_show_all(janela);

  // código que destrói a janela principal
  g_signal_connect_swapped(G_OBJECT(janela), "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

Dimensionamento de lajes maciças à flexão

As lajes de concreto armado são elementos planos e horizontais, submetidos a carregamentos perpendiculares ao plano. Esses carregamentos promovem o desenvolvimento de esforços internos de flexão.

Analise as afirmativas a seguir referentes aos tipos de flexão:

I. A flexão normal ocorre em uma seção transversal em que atuam apenas momento fletor e esforço normal de tração ou compressão.

II. A flexão reta ocorre quando os momentos fletores atuam em planos ortogonais aos eixos principais de inércia da seção transversal.

III. Diz-se que a seção transversal de uma laje está submetida à flexão pura quando sobre ela atuam somente momentos fletores.

IV. A seção transversal de uma laje está submetida à flexão composta quando, sobre esta, atuam momentos de flexão e forças normais.

Assinale a alternativa correta:

A) Apenas a afirmativa I está correta.

B) Apenas a afirmativa III está correta.

C) As afirmativas I, II e IV estão corretas.

D) As afirmativas II, III e IV estão corretas.

E) As afirmativas I, II, III e IV estão corretas.
Verificar Resposta Estudar Cards Todas as Questões

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

Transporte de fluidos por bombas

O objetivo no transporte de fluidos por bombas é transferir energia ao fluido, compensar as perdas por atrito e aumentar a vazão no transporte com diferença de altura ou de pressão. Suponha que escoe petróleo cru por uma tubulação horizontal com auxílio de uma bomba com eficiência de 85%. Qual potência deve ser fornecida na entrada da estação de bombeamento para vazão de 2,94m3/s? Considere que a queda de pressão estimada ao longo do escoamento é de 7,92MPa.

A) 23,30MW.

B) 27,41MW.

C) 19,80MW.

D) 85,00MW.

E) 7,96MW.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fundações

Sondagem à Percussão (SPT) e Rotativa (RQD)

Na sondagem SPT, o que significa o N30?

A) Corresponde ao número de golpes dos últimos 30cm na fase de amostragem.

B) Corresponde à energia de 30% a ser considerada.

C) Corresponde a 30 golpes para penetrar um metro.

D) Corresponde ao número de golpes dos primeiros 30cm do amostrador.

E) Corresponde à energia que causa a perfuração dinâmica de 30cm com uma única pancada.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em

Agregados naturais

Assinale a alternativa que contenha um agregado natural:

A) Brita.

B) Pedra britada.

C) Pó de pedra.

D) Bica corrida.

E) Seixos.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em

Domínios de Deformações

Para o dimensionamento de elementos de concreto armado sujeitos a solicitações normais, é necessário utilizar as relações de tensão-deformação (σ x ε) dos materiais (concreto e aço), as relações de compatibilidade de deformações e as relações de igualdade entre os esforços atuantes e os esforços resistentes.

Analise as informações a seguir a respeito das relações referenciadas:

I) As relações tensão-deformação referem-se ao comportamento do concreto simples.

II) As relações de compatibilidade de deformações são o resultado da hipótese de que as seções permanecem planas até a ruptura e dos domínios de deformação.

III) As relações de igualdade entre os esforços atuantes e os resistentes correspondem às equações de equilíbrio de forças e momentos em uma seção de concreto armado.

Assinale e alternativa correta:

A) Somente a afirmação I está correta.

B) Somente as afirmações II e III estão corretas.

C) Somente a afirmação II está correta.

D) Somente a afirmação III está correta.

E) Somente as afirmações I e II estão corretas.
Verificar Resposta Estudar Cards Todas as Questões

Veja mais Dicas e truques de GTK+

Dicas e truques de outras linguagens

E-Books em PDF

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

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



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