Mini-tutorial de GTK+
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Mini-tutorial de GTK+

on

  • 7,121 views

Como criar um widget em GTK+.

Como criar um widget em GTK+.

Statistics

Views

Total Views
7,121
Views on SlideShare
7,095
Embed Views
26

Actions

Likes
1
Downloads
92
Comments
1

2 Embeds 26

http://www.slideshare.net 25
http://www.slideee.com 1

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Mini-tutorial de GTK+ Presentation Transcript

  • 1. Passos para criar um Widget com GTK
    • 1. Chame a função de criação do novo widget.
    • 2. Defina os atributos do widget.
    • 3. Conecte os sinais e eventos aos manipuladores apropriados.
    • 4. Empacote o widget num container .
    • 5. Mostre o widget.
  • 2. Passos para criar um Widget com GTK 1. Chame a função de criação do novo widget
    • gtk_*_new() – Uma das várias funções para criar um novo widget:
      • GtkWidget* gtk_window_new(...)
      • GtkWidget* gtk_label_new(...)
      • GtkWidget* gtk_button_new(...)
    • Exemplos:
      • janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
      • botao = gtk_button_new_with_label("Ok");
  • 3. Passos para criar um Widget com GTK 2. Defina os atributos do widget.
    • Alguns atributos de uma janela
      • Título: void gtk_window_set_title(...)
      • Tamanho: void gtk_window_set_default_size(...)
      • Redimensionável: void gtk_window_set_resizable(...)
    • Exemplos:
      • gtk_window_set_title (GTK_WINDOW(window),”Olá”);
      • gtk_window_set_default_size (GTK_WINDOW(window),200, 100);
      • gtk_window_set_resizable (GTK_WINDOW(window),TRUE);
  • 4. Passos para criar um Widget com GTK 3. Conecte os sinais e eventos aos manipuladores apropriados.
    • g_signal_connect (objeto, sinal, função, dados)
      • objeto: o objeto ao qual se quer conectar
      • sinal: uma string com o nome do sinal.
      • função: a função GCallback a ser conectada.
      • dados: dados a serem passados para função .
      • retorna: o id do manipulador.
    • Exemplo:
      • g_signal_connect(G_OBJECT (botao), "clicked", G_CALLBACK (funcao), NULL);
  • 5. Passos para criar um Widget com GTK 4. Empacote o widget num container .
    • void gtk_container_add(GtkContainer *container, GtkWidget *widget);
      • *container: um GtkContainer
      • *widget: um widget a ser colocado dentro do container
    • Para containeres mais complicados como GtkBox ou GtkTable deve-se usar:
      • void gtk_box_pack_start(...)
      • void gtk_table_attach(...)
    • Exemplos:
      • gtk_container_add(GTK_CONTAINER(janela), botao);
  • 6. Passos para criar um Widget com GTK 5. Mostre o widget.
    • void gtk_widget_show(GtkWidget *widget); Define um widget para ser exibido, do contrário ele não aparecerá na tela.
    • void gtk_widget_show_all(GtkWidget *widget); Mostra recursivamente um widget, e quaisquer widgets filhos (se o widget for um container ).
    • Exemplos:
      • gtk_widget_show(botao);
      • gtk_widget_show(janela);
      • gtk_widget_show_all(janela);
  • 7. exemplo.c gcc exemplo.c -o exemplo `pkg-config --cflags --libs gtk+-2.0`
    • #include <gtk/gtk.h>
    • int main (int argc, char *argv[]) {
      • GtkWidget *janela, *botao;
      • gtk_init(&argc, &argv);
      • janela = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(janela), &quot;Exemplo&quot;); gtk_window_set_default_size(GTK_WINDOW(janela), 200, 60);
      • botao = gtk_button_new_with_label(“Sair”); g_signal_connect(G_OBJECT(botao), &quot;clicked&quot;, G_CALLBACK(gtk_main_quit), NULL);
      • gtk_container_add(GTK_CONTAINER(janela), botao);
      • gtk_widget_show_all(janela);
      • gtk_main();
      • return 0; }
  • 8.
    • #!/usr/bin/env python
    • import pygtk pygtk.require('2.0') import gtk
    • class Exemplo:
      • def __init__(self): self.janela = gtk.Window(gtk.WINDOW_TOPLEVEL) self.janela.set_title(&quot;Exemplo&quot;) self.janela.set_default_size(200, 60) self.janela.connect(&quot;delete_event&quot;, gtk.main_quit) self.janela.connect(&quot;destroy&quot;, gtk.main_quit)
        • self.botao = gtk.Button(&quot;Sair&quot;) self.botao.connect_object(&quot;clicked&quot;, gtk.Widget.destroy, self.janela) self.janela.add(self.botao) self.janela.show_all()
      • def main(self): gtk.main()
    • if __name__ == &quot;__main__&quot;: exemplo = Exemplo() exemplo.main()
    exemplo.py Agora, o mesmo exemplo em Python.
  • 9. Isso é tudo pessoal!