Programação em GUI/Widgets - Wikilivros
Programação em GUI/Widgets
A unidade básica de um programa com interface gráfica se chama widget, termo em inglês.
Widgets podem ser janelas, botões, menus, ícones, barras de rolagem, etc.
Um programa deve definir uma hierarquia de widgets, na qual alguns widgets estão subordinados a outros. Normalmente, todos os widgets são transitivamente subordinados a um widget principal, mas existem exceções: o programa pode gerar aplicativos separados do seu widget principal.
Trabalhar com vários widgets é a principal diferença entre um programa GUI e um programa normal. No último caso, o programador procura sempre saber qual ponto do programa está sendo executado; no programa GUI, é o sistema gerenciador de janelas que escolhe qual parte do programa (ou seja, qual parte de qual widget) está sendo rodado.
A "conversa" entre os diversos widgets usualmente é feita de forma indireta. Widgets disparam mensagens indicando as ações executadas sobre ele, e estas mensagens são recebidas pelos outros widgets para efetuar as ações desejadas.
Os exemplos mostram um widget raiz, com vários widgets subordinados a ele. Normalmente, estes widgets aparecem dentro da caixa que define o widget raiz.
Na linguagem C, usando o toolkit GTK+: GTK+/Empacotando widgets
Em C++, usando o toolkit Qt: Qt/Widgets (ver primeira imagem à direita)
Em Java, usando o toolkit Java/Swing: Java/Swing/Widgets (ver segunda imagem à direita)
Em Python, usando o toolkit tkinter, baseado no Tk: Python/Tkinter/Widgets (ver terceira imagem à direita)
Exemplos em outras línguas:
Na linguagem tcl, usando o toolkit Tk: en:Tcl Programming/Tk
Em Common Lisp, usando o toolkit Tk: en:Common Lisp/External libraries/Ltk
Em Python, usando o toolkit Tk: de:Python-Programmierung: Tkinter
Em Python, usando o toolkit Qt: de:Python unter Linux: Qt4
Em C++, usando o toolkit wxWidgets: fr:Interfaces graphiques en C++ avec wxWidget/Evenements
Na linguagem Haskell, usando o toolkit wxWidgets: en:Haskell/GUI
Na linguagem C, usando o toolkit GTK+: fr:Programmation GTK+/Programme de démonstration des placements
Lista de widgets[editar | editar código-fonte]
Segue uma lista de widgets. Como a maioria das linguagens de programação usam o inglês como língua padrão, os nomes dos widgets estão listados nesta língua.