Python - Programação GUI (Tkinter)
Python oferece várias opções para o desenvolvimento de interfaces gráficas com o usuário (GUIs). Os mais importantes estão listados abaixo.
Tkinter- Tkinter é a interface Python para o kit de ferramentas Tk GUI fornecido com Python. Veríamos essa opção neste capítulo.
wxPython - Esta é uma interface Python de código aberto para wxWindows http://wxpython.org.
JPython - JPython é uma porta Python para Java que dá aos scripts Python acesso contínuo às bibliotecas de classes Java na máquina local http://www.jython.org.
Existem muitas outras interfaces disponíveis, que você pode encontrar na rede.
Programação Tkinter
Tkinter é a biblioteca GUI padrão para Python. O Python, quando combinado com o Tkinter, fornece uma maneira rápida e fácil de criar aplicativos GUI. O Tkinter fornece uma interface orientada a objetos poderosa para o kit de ferramentas Tk GUI.
Criar um aplicativo GUI usando o Tkinter é uma tarefa fácil. Tudo que você precisa fazer é executar as seguintes etapas -
Importe o módulo Tkinter .
Crie a janela principal do aplicativo GUI.
Adicione um ou mais dos widgets mencionados acima ao aplicativo GUI.
Entre no loop de evento principal para agir em relação a cada evento disparado pelo usuário.
Exemplo
#!/usr/bin/python
import Tkinter
top = Tkinter.Tk()
# Code to add widgets will go here...
top.mainloop()
Isso criaria a seguinte janela -
Widgets Tkinter
O Tkinter oferece vários controles, como botões, rótulos e caixas de texto usados em um aplicativo GUI. Esses controles são comumente chamados de widgets.
Existem atualmente 15 tipos de widgets no Tkinter. Apresentamos esses widgets, bem como uma breve descrição na tabela a seguir -
Sr. Não. | Operador e descrição |
---|---|
1 | Botão O widget de botão é usado para exibir botões em seu aplicativo. |
2 | Tela de pintura O widget Canvas é usado para desenhar formas, como linhas, ovais, polígonos e retângulos, em seu aplicativo. |
3 | Botão de verificação O widget Checkbutton é usado para exibir várias opções como caixas de seleção. O usuário pode selecionar várias opções ao mesmo tempo. |
4 | Entrada O widget de entrada é usado para exibir um campo de texto de linha única para aceitar valores de um usuário. |
5 | Quadro, Armação O widget Frame é usado como um widget de contêiner para organizar outros widgets. |
6 | Rótulo O widget Label é usado para fornecer uma legenda de linha única para outros widgets. Também pode conter imagens. |
7 | Listbox O widget Listbox é usado para fornecer uma lista de opções para um usuário. |
8 | Botão de menu O widget Menubutton é usado para exibir menus em seu aplicativo. |
9 | Cardápio O widget Menu é usado para fornecer vários comandos a um usuário. Esses comandos estão contidos no Menubutton. |
10 | mensagem O widget Mensagem é usado para exibir campos de texto de várias linhas para aceitar valores de um usuário. |
11 | Botao de radio O widget Radiobutton é usado para exibir várias opções como botões de rádio. O usuário pode selecionar apenas uma opção por vez. |
12 | Escala O widget Escala é usado para fornecer um widget de controle deslizante. |
13 | Barra de rolagem O widget Barra de rolagem é usado para adicionar capacidade de rolagem a vários widgets, como caixas de listagem. |
14 | Texto O widget Texto é usado para exibir texto em várias linhas. |
15 | Nível Superior O widget de nível superior é usado para fornecer um contêiner de janela separado. |
16 | Spinbox O widget Spinbox é uma variante do widget Tkinter Entry padrão, que pode ser usado para selecionar um número fixo de valores. |
17 | PanedWindow Um PanedWindow é um widget de contêiner que pode conter qualquer número de painéis, organizados horizontalmente ou verticalmente. |
18 | LabelFrame Um labelframe é um widget de contêiner simples. Seu objetivo principal é atuar como espaçador ou contêiner para layouts de janela complexos. |
19 | tkMessageBox Este módulo é usado para exibir caixas de mensagens em seus aplicativos. |
Vamos estudar esses widgets em detalhes -
Atributos padrão
Vamos dar uma olhada em como alguns de seus atributos comuns, como tamanhos, cores e fontes, são especificados.
Dimensions
Colors
Fonts
Anchors
Estilos de relevo
Bitmaps
Cursors
Vamos estudá-los brevemente -
Gestão Geométrica
Todos os widgets Tkinter têm acesso a métodos específicos de gerenciamento de geometria, que têm o propósito de organizar os widgets em toda a área de widgets pai. O Tkinter expõe as seguintes classes de gerenciador de geometria: pacote, grade e local.
O pack () Método - Este gerenciador de geometria organiza widgets em blocos antes de colocá-los no widget pai.
O Método grid () - Este gerenciador de geometria organiza widgets em uma estrutura semelhante a uma tabela no widget pai.
O lugar () Método - Este gerenciador de geometria organiza os widgets, colocando-os em uma posição específica no widget pai.
Vamos estudar os métodos de gerenciamento de geometria brevemente -