• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Mini-tutorial de GTK+
 

Mini-tutorial de GTK+

on

  • 6,921 views

Como criar um widget em GTK+.

Como criar um widget em GTK+.

Statistics

Views

Total Views
6,921
Views on SlideShare
6,895
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

11 of 1 previous next

  • 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+ Mini-tutorial de GTK+ Presentation Transcript

    • 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.
    • 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");
    • 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);
    • 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);
    • 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);
    • 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);
    • 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; }
      • #!/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.
    • Isso é tudo pessoal!