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

editar

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

Plataformas

editar

Unix, Linux, Windows, MacOS/X

Vantagens

editar
  • 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

editar
  • 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

editar

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 ttk

root = 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

editar

Referências

  1. a b «Tkinter, nterface Python para Tcl/Tk». Python Documentation. Consultado em 23 de fevereiro de 2024