Tkinter

Baseada em Tcl/Tk, a Tkinter acompanha a distribuição oficial do interpretador Python. É a biblioteca padrão da linguagem Python.

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

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

from tkinter import *

class App:

    def __init__(self, master):

        frame = Frame(master)
        frame.pack()

        self.button = Button(frame, text="QUIT", fg="red",
                         command=frame.quit)
        self.button.pack(side=LEFT)

        self.hi_there = Button(frame, text="Hello",
                           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()

Ver também

Ligações externas

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.