Resumo : neste tutorial você aprenderá passo a passo como desenvolver o programa Tkinter
“Hello, World!” programa.
Criando uma janela
O programa a seguir mostra como exibir uma janela na tela:
import tkinter as tk
root = tk.Tk()
root.mainloop()
Linguagem de código: Python ( python )
Se você executar o programa, verá a seguinte janela:
Como funciona.
Primeiro, importe o tkinter
módulo para tk
o programa:
import tkinter as tk
Linguagem de código: Python ( python )
Segundo, crie uma instância da tk.Tk
classe que criará a janela do aplicativo:
root = tk.Tk()
Linguagem de código: Python ( python )
Por convenção, a janela principal do Tkinter é chamada root
. Mas você pode usar qualquer outro nome como main
.
Terceiro, chame o mainloop()
método do objeto da janela principal:
root.mainloop()
Linguagem de código: Python ( python )
O mainloop()
método garante que a janela principal permaneça visível na tela.
Se você não chamar o mainloop()
método, a janela principal será exibida e desaparecerá quase instantaneamente – rápido demais para perceber sua aparência.
Além disso, o mainloop()
método garante que a janela principal continue a ser exibida e executada até você fechá-la.
Normalmente, em um programa Tkinter, você faz a chamada ao mainloop()
método como a última instrução após criar os widgets.
Solução de problemas
O tkinter
módulo é um módulo Python integrado. Mas às vezes não é o caso. Por exemplo, no Ubuntu, você pode encontrar o seguinte erro:
ImportError: No module named Tkinter
Linguagem de código: JavaScript ( javascript )
Neste caso, você precisa instalar tkinter
o módulo usando a seguinte linha de comando:
sudo apt-get install python3-tk
Linguagem de código: JavaScript ( javascript )
Exibindo um rótulo
Agora vamos colocar um componente na janela. No Tkinter, esses componentes são chamados de widgets .
O código a seguir adiciona um widget de rótulo à janela raiz:
import tkinter as tk
root = tk.Tk()
# place a label on the root window
message = tk.Label(root, text="Hello, World!")
message.pack()
# keep the window displaying
root.mainloop()
Linguagem de código: Python ( python )
Lembre-se de que você aprenderá mais sobre o Label
widget no próximo tutorial.
Se você executar o programa, verá a seguinte saída:
Como funciona.
Para criar um widget que pertence a um contêiner, use a seguinte sintaxe:
widget = WidgetName(master, **options)
Linguagem de código: Python ( python )
Nesta sintaxe:
- Esta é a janela ou quadro
master
pai onde você deseja colocar o widget. - Há
options
um ou mais argumentos de palavra-chave que especificam as configurações do widget.
No programa, o seguinte cria um Label
widget colocado na root
janela:
message = tk.Label(root, text="Hello, World!")
Linguagem de código: Python ( python )
A instrução a seguir posiciona o Label
na janela principal:
message.pack()
Linguagem de código: Python ( python )
Observe que você aprenderá mais sobre o pack()
método posteriormente. Se você não chamar o pack()
método, o Tkinter ainda criará o widget. No entanto, o widget não estará visível.
Corrigindo a interface de usuário desfocada no Windows
Se você achar que o texto e a IU estão borrados no Windows, você pode usar a ctypes
biblioteca Python para consertar.
Primeiro, importe o ctypes
módulo:
from ctypes import windll
Linguagem de código: Python ( python )
Segundo, chame a SetProcessDpiAwareness()
função:
windll.shcore.SetProcessDpiAwareness(1)
Linguagem de código: Python ( python )
Se quiser que o aplicativo seja executado em plataformas como Windows, macOS e Linux, você pode colocar o código acima em um try...finally
bloco:
try:
from ctypes import windll
windll.shcore.SetProcessDpiAwareness(1)
finally:
root.mainloop()
Linguagem de código: JavaScript ( javascript )
No Windows, o código do try
bloco funcionará corretamente. No entanto, no macOS ou Linux, isso falhará. No entanto, o código no finally
bloqueio sempre será executado e exibirá a janela principal.
Resumo
- Importe o
tkinter
módulo para criar um aplicativo de desktop Tkinter. - Use
Tk
a classe para criar a janela principal e chame omainloop()
método para exibir a janela principal. - No Tkinter, os componentes são chamados de widgets.