Tkinter

Na ciência da computação, a Tkinter é a interface padrão da linguagem de programação Python baseada em Tcl/Tk (kit de ferramentas Tcl/Tk GUI). Python usa o Tcl/Tk na versão 8.6.[1]

Tela do Tkinter mostrando o bot da Wikipédia trabalhando.

Para ver uma demonstação do tkinter, digite na linha de comando python -m tkinter, exibe uma nterface Tk simples informando que tkinter está instalado no computador e, também mostra a versão do Tcl/Tk.

Licença

Python (permite escrever livremente softwares comerciais, GPL ou sob qualquer outra licença).

Plataformas

Unix, Linux, Windows, MacOS/X

Vantagens

  • Portabilidade - Programas escritos usando a Tkinter são portáveis livremente entre Linux, Unix, Windows e Mac, além da garantia de que qualquer um poderá executar o programa sem precisar instalar bibliotecas extras no Windows.
  • Aprendizado - Tem uma API simples de se aprender e fácil de lembrar.
  • Documentação - Muito bem documentada, com inúmeros tutoriais e referências de ótima qualidade disponíveis na Web..

Desvantagens

  • Pobre - Faltam muitos componentes importantes, como notebooks e combo box (apesar de estes poderem ser feitos combinando outros componentes). Alguns elementos (listbox por exemplo) são incompletos ou limitados. Em compensação o componente Text é muito poderoso.
  • Aparência - A Tk usa uma função própria para acessar diretamente as funções do sistema operacional e desenhar seus próprios elementos na tela. Isso tem a vantagem de ser mais facilmente portável, mas a grande desvantagem de ter uma aparência diferente da nativa do sistema operacional.
  • Performance - O desempenho é extremamente baixo comparado ao que a biblioteca oferece.

Exemplo de código

Exemplo de uma aplicação com uma interface gráfica tkinter que exibe a mensagem "Oi Mundo!" e o botão "Sair":[1]

from tkinter import *from tkinter import ttkroot = Tk()frm = ttk.Frame(root, padding=10)frm.grid()ttk.Label(frm, text="Oi Mundo!").grid(column=0, row=0)ttk.Button(frm, text="Sair", command=root.destroy).grid(column=1, row=0)root.mainloop()
from tkinter import *class App:    def __init__(self, master):        frame = Frame(master)        frame.pack()        self.button = Button(frame, text="Sair", fg="red",                         command=frame.quit)        self.button.pack(side=LEFT)        self.hi_there = Button(frame, text="Oi!",                           command=self.say_hi)        self.hi_there.pack(side=LEFT)    def say_hi(self):        print("hi there, everyone!")root = Tk()app = App(root)root.mainloop()
Outros projetos Wikimedia também contêm material sobre este tema:
Livros e manuais no Wikilivros


Ligações externas

Referências