Python - Programação GUI (Tkinter)
Python oferece várias opções para desenvolver interfaces gráficas de usuário (GUIs). Os mais importantes estão listados abaixo.
-
Tkinter − Tkinter é a interface Python para o kit de ferramentas Tk GUI fornecido com o Python. Procuraríamos esta 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 a 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 poderosa interface orientada a objetos para o kit de ferramentas Tk GUI.
Criar um aplicativo GUI usando o Tkinter é uma tarefa fácil. Tudo o que você precisa fazer é executar as seguintes etapas -
-
Importe o Tkinter módulo.
-
Crie a janela principal do aplicativo GUI.
-
Adicione um ou mais dos widgets mencionados acima ao aplicativo GUI.
-
Insira o loop de eventos principal para agir em relação a cada evento acionado pelo usuário.
Exemplo
#!/usr/bin/python import Tkinter top = Tkinter.Tk() # Code to add widgets will go here... top.mainloop()
Isso criaria uma janela a seguir -
Widgets do Tkinter
O Tkinter fornece 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 -
Nº Sr. | Operador e Descrição |
---|---|
1 | Botão O widget Button é usado para exibir botões em seu aplicativo. |
2 | Tela 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 Entrada é usado para exibir um campo de texto de linha única para aceitar valores de um usuário. |
5 | Quadro O widget Frame é usado como um widget de contêiner para organizar outros widgets. |
6 | Etiqueta O widget Label é usado para fornecer uma legenda de linha única para outros widgets. Também pode conter imagens. |
7 | Caixa de listagem O widget Listbox é usado para fornecer uma lista de opções a um usuário. |
8 | Botão de menu O widget Menubutton é usado para exibir menus em seu aplicativo. |
9 | Menu O widget Menu é usado para fornecer vários comandos a um usuário. Esses comandos estão contidos dentro do botão Menu. |
10 | Mensagem O widget Mensagem é usado para exibir campos de texto de várias linhas para aceitar valores de um usuário. |
11 | Botão de rádio O widget Radiobutton é usado para exibir várias opções como botões de opção. O usuário pode selecionar apenas uma opção por vez. |
12 | Escala O widget Scale é usado para fornecer um widget deslizante. |
13 | Barra de rolagem O widget Barra de rolagem é usado para adicionar recursos 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 Toplevel é 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 | Janela em Painel 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 um espaçador ou recipiente para layouts de janelas 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.
-
Dimensões
-
Cores
-
Fontes
-
Âncoras
-
Estilos de relevo
-
Bitmaps
-
Cursores
Vamos estudá-los brevemente -
Gerenciamento de geometria
Todos os widgets do Tkinter têm acesso a métodos específicos de gerenciamento de geometria, que têm o objetivo de organizar os widgets em toda a área do widget pai. Tkinter expõe as seguintes classes de gerenciadores de geometria:pack, grid e place.
-
O pacote() Método − Este gerenciador de geometria organiza os widgets em blocos antes de colocá-los no widget pai.
-
A grade() Método − Este gerenciador de geometria organiza os 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 brevemente os métodos de gerenciamento de geometria -
python