Introdução às interfaces gráficas do usuário em Python

Índice

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 tkinter
Observaçã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-tk
Para 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 tkinter
No 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
wave wave wave wave wave