Neste tutorial vamos colocar Exemplos de implementação de aplicativos GUI em Python, existem muitos módulos para trabalhar com uma interface gráfica, aqui escolhemos Tkinter, já que vem pré-instalado com Python e nos ajudará a ver como trabalhamos desta forma, embora no final veremos um pequeno exemplo de PyQt.
Podemos verificar se Tkinter o módulo está instalado corretamente usando:
python -m tkinterObservaçãoNo Python 2, seria o primeiro t: Tkinter com maiúscula, já que no Python 3 ele foi renomeado.
Se estiver instalado corretamente, veremos que uma janela como a seguinte é exibida:
Se não vermos um erro, isso indicará que não foi possível encontrar este módulo:
Para instalar o módulo em Python 3 nas distribuições Debian:
sudo apt-get install python3-tkPara outras versões, consulte o seguinte link. O tutorial é focado em dar uma primeira impressão sobre como trabalhar com a GUI em Python, se você é novo neste tópico, ele irá ajudá-lo, se você está procurando tópicos avançados este não é o tutorial certo.
ObservaçãoAqui vamos trabalhar com Python 3, importamos a biblioteca da seguinte maneira:
importar tkinterNo entanto, no Python 2 você deve importá-lo da seguinte maneira, já falamos sobre ele ser renomeado:
importar Tkinter
Vamos começar o tutorial exemplo a exemplo, vamos começar com o mais fácil e complicar no final.
Exemplo 1
Vamos criar uma janela simples para isso escreveremos o seguinte código:
import tkinter window = tkinter.Tk () window = tkinter.mainloop ()Com a primeira linha importamos o módulo necessário, a próxima cria a janela principal e se removermos a última instrução a janela não será vista quando executarmos o código. A saída do exemplo:
Este exemplo é muito longo, 3 linhas … Vamos passar para o próximo.
Exemplo 2
Neste exemplo, que não é muito maior que o anterior, vamos criar a janela como fizemos no exemplo 1, mas vamos configurá-la um pouco, vamos mudar a cor, o tamanho e o título.
import tkinter as tk window = tk.Tk () window.config (bg = "blue") window.geometry ("400x300") window.title ("Example2") window.mainloop ()A primeira linha ainda importa o módulo tkinter, mas damos a ele um apelido para que possamos usar uma palavra mais curta no código. Vamos criar a janela como no exemplo anterior. E as próximas 3 linhas irão configurar a cor, tamanho e título em ordem. A última linha já sabemos. A saída do exemplo é a seguinte:
Até agora tudo tem sido muito fácil, vamos continuar com mais exemplos.
Exemplo 3
Agora vamos criar um botão dentro da janela principal, o que também não vai nos complicar muito, vamos ver o código:
import tkinter as tk window = tk.Tk () window.geometry ("200x150") button = tk.Button (window, text = "Testando") button.grid (linha = 1, coluna = 1) window.mainloop ()As únicas linhas que precisam de explicação são:
button = tk.Button (window, text = "Testando") button.grid (linha = 1, coluna = 1)O primeiro cria um botão com o nome Teste (botão), e nós o atribuímos a janela, que é a variável de nossa janela principal. O segundo coloca o botão na linha e na coluna 1. A execução nos mostrará o seguinte:
O botão é simplesmente exibido, não funciona, pois não está servindo eventos, faremos isso no exemplo a seguir.
Exemplo 4
Agora vamos participar de um evento para abrir uma segunda janela, que não será a principal, vamos ver o código:
import tkinter as tk def open (): window2 = tk.Toplevel (window) window = tk.Tk () window.geometry ("200x150") button = tk.Button (window, text = "Open", command = open) button.grid (linha = 1, coluna = 1) window.mainloop ()Vamos ver as novas linhas, a função abrir terá a seguinte instrução, que criará uma janela “filha” da principal.
window2 = tk.Toplevel (janela)E o botão tem uma pequena mudança, observe comando, é executar uma função, neste caso, chamar a função abrir:
botão = tk.Button (janela, texto = "Abrir", comando = abrir)Vamos ver um exemplo com uma classe.
Exemplo 5
Este é o último exemplo de tkinter, e será o mais longo, vamos criar uma classe para fazer algo diferente. O que vamos fazer é uma pequena janela, que não pode ser redimensionada, terá uma etiqueta de texto e um botão, cada vez que pressionarmos o botão o número aumentará. Vamos passar para o código:
import tkinter as tk class Application (): counter = 1 def __init __ (self): self.window = tk.Tk () self.window.geometry ("300x60") self.window.title ("Exemplo 5") self . window.resizable (width = False, height = False) self.createButton () self.createLabel () self.window.mainloop () def createButton (self): self.button = tk.Button (self.window, text = "Aumentar", comando = self.increase) self.button.pack () def createLabel (self): self.tag = tk.Label (self.window, text = "0", fg = "blue") self.tag . pack (pady = 10) def aumentar (self): self.tag ["text"] = self.counter self.counter + = 1 app = Application ()Em função __iniciar__ vamos criar a janela e configurá-la, além de chamar as funções createButton Y createLabel para acreditarmos nesses elementos. Se vimos os exemplos anteriores, este não deve gerar complicações ou dúvidas. Ao iniciar o programa temos a janela com o número 0:
Se clicarmos no botão o número aumenta, por exemplo depois de clicarmos 25 vezes temos o seguinte:
Neste tutorial vimos o básico do módulo tkinter, você será capaz de criar muito mais coisas, se você estiver interessado em aprofundar aqui você tem o link para a página oficial do Python onde falam sobre o tkinter.
Você tem outras bibliotecas em Python com as quais pode programar interfaces gráficas, conforme dito no início, algumas delas são:
- PyGTK
- wxPython
- PyQT
Para que você possa comparar um pouco o tkinter com um módulo diferente, vamos dar um exemplo de PyQt.
Exemplo com PyQT
Para lançar este exemplo você precisará instalar a biblioteca, você pode visitar o link que colocamos acima. Vamos criar uma janela com o tamanho 275x200 e com o título Exemplo PyQt4. Ele também aparecerá na posição 300x300
import sys from PyQt4 import QtGui application = QtGui.QApplication (sys.argv) window = QtGui.QWidget () window.resize (275, 200) window.move (300, 300) window.setWindowTitle ('PyQt4 Example') window. show () sys.exit (application.exec_ ())Se executarmos o código, obteremos a seguinte saída:
Nada complicado, como foi observado ao longo do tutorial, poderíamos continuar colocando exemplos, pois há muito o que tocar, mas com uma introdução já prepara você para praticar a criação de seus próprios exemplos, adicionando outros elementos, como listas, caixas de texto onde escrever, etc.
Gostou e ajudou este tutorial?Você pode recompensar o autor pressionando este botão para dar a ele um ponto positivo