Você está aqui: GTK+ ::: Gerenciadores de Layout ::: GtkFixed |
Entendendo o gerenciador de layout GtkFixed do GTK+Quantidade de visualizações: 6387 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 com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- GtkWidget *layout = gtk_fixed_new(); Para adicionar um controle a um gerenciador GtkFixed podemos usar a seguinte função: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- 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 com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- 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 com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
#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;
}
|
|
|
Veja mais Dicas e truques de GTK+ |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





