TTKBootstrap: Como criar interfaces gráficas bonitas no Python

Neste artigo você vai aprender a usar o TTKBootstrap, para deixar suas aplicações mais bonitas e funcionais.

Criar interfaces gráficas em Python pode ser cansativo, especialmente pra quem acha o visual padrão do Tkinter simples demais.

Felizmente, com o TTKBootstrap, Ă© possĂ­vel criar interfaces moderna e mais atraentes com poucas linhas de cĂłdigo.

Para fazer o download do(s) arquivo(s) utilizados na aula, preencha com o seu e-mail:

NĂŁo vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos Ă© uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dĂşvida, nos contate.

O que Ă© o TTKBootstrap?

O TTKBootstrap é uma extensão do Tkinter, a biblioteca padrão do Python para criação de interfaces gráficas. Ele incorpora os estilos do Bootstrap, um framework popular no desenvolvimento web, para adicionar botões, caixas de texto e outros elementos visuais mais modernos e personalizáveis. Com o TTKBootstrap, você pode sair de uma interface "crua", semelhante às janelas antigas do Windows, para uma aparência profissional com temas e efeitos visuais.

captura de tela da homepage
  • Vantagens do TTKBootstrap:
    • Estilização fácil com temas prontos.
    • Componentes visuais mais atraentes, como botões e labels.
    • Personalização com poucas linhas de cĂłdigo.
    • Documentação clara para explorar recursos.

Como instalar e configurar o TTKBootstrap?

Como instalar o TTKBootstrap no Python?
A instalação é simples e feita via pip. No terminal, execute o comando abaixo:

pip install ttkbootstrap

Após a instalação, você precisa importar o TTKBootstrap no seu código. A diferença principal é que, enquanto o Tkinter padrão é importado com import tkinter as tk, os componentes estilizados vêm do módulo ttkbootstrap

Um exemplo básico:

Python
import tkinter as tk
from ttkbootstrap import Style
from ttkbootstrap.widgets import Button, Label

# Criar janela
root = tk.Tk()
style = Style(theme='darkly')  # Aplica o tema Darkly

Aqui, a importação do Tkinter padrão é mantida para criar a janela principal, mas os widgets (como botões e labels) usam o TTKBootstrap para um visual mais moderno.

ĂŤcone PythonPython Impressionador

Você vai aprender a linguagem de Programação que mais cresce no Mundo para fazer automações incríveis, desenvolver sites, fazer análises de dados, trabalhar com Ciência de Dados, Inteligência Artificial, mesmo que você nunca tenha tido nenhum contato com Programação na vida.

Começar agoraSeta para a direita
Fundo PythonTelas Python
Luz Python

Como transformar uma interface Tkinter com TTKBootstrap?

Quais mudanças são necessárias no código?
Para estilizar uma interface, substitua os widgets do Tkinter (como tk.Button ou tk.Label) pelos equivalentes do TTKBootstrap (ttkbootstrap.Button, ttkbootstrap.Label, etc.).

Por exemplo, em uma aplicação de cotação de moedas, o código padrão do Tkinter pode ser adaptado com apenas duas linhas adicionais:

  • Importar o mĂłdulo TTKBootstrap.
  • Aplicar um tema com Style(theme='nome_do_tema').
página do tema darkly

Exemplo de código para uma janela de cotação:

Python
import tkinter as tk
from ttkbootstrap import Style
from ttkbootstrap.widgets import Button, Label, LabelFrame

root = tk.Tk()
root.title("Cotação de Moedas")
style = Style(theme='darkly')  # Tema escuro moderno

# Frame para cotações
frame = LabelFrame(root, text="Cotações", bootstyle="info")
frame.pack(padx=10, pady=10)

# BotĂŁo estilizado
button = Button(root, text="Buscar Cotação", bootstyle="success-outline")
button.pack(pady=5)

# Label para exibir resultados
label = Label(frame, text="DĂłlar: R$5,50", bootstyle="info")
label.pack(pady=5)

root.mainloop()

Este cĂłdigo cria uma janela com um botĂŁo verde (estilo success-outline) e um texto azul (estilo info), bem mais atraente que o Tkinter padrĂŁo.

captura de tela da janela de cotação com o tema darkly aplicado, destacando o botão e o texto estilizados

Como personalizar botões e labels com TTKBootstrap?

Quais estilos estĂŁo disponĂ­veis?
O TTKBootstrap oferece estilos como primary, secondary, success, danger, warning, info, light e dark. Esses estilos podem ser aplicados a botões, labels, frames e outros widgets usando o parâmetro bootstyle. Por exemplo:

  • BotĂŁo com estilo success-outline: Um botĂŁo verde com borda que muda de cor ao passar o mouse.
  • Label com estilo info: Texto em azul claro, ideal para destacar informações.

Para aplicar, adicione o parâmetro bootstyle ao widget.

Exemplo:

Python
button = Button(root, text="Buscar Cotação", bootstyle="success-outline")
label = Label(root, text="Cotação: Dólar", bootstyle="warning")

Onde encontrar mais estilos?
A documentação oficial do TTKBootstrap (disponível no Google, buscando "TTKBootstrap") lista todos os temas e estilos disponíveis, como darkly, solar, superhero, cyborg e vapor.

Você pode explorar a seção de "Style Guide" para ver exemplos de botões, caixas de diálogo, barras de rolagem, seletores de data e mais.

Quais são as possibilidades de personalização?

Como deixar a interface ainda mais Ăşnica?
Além de temas e estilos de widgets, o TTKBootstrap permite personalizar praticamente todos os elementos do Tkinter, como:

  • Checkboxes: Adicione animações e cores personalizadas.
  • Comboboxes: Caixas de seleção com visual moderno.
  • Scrollbars: Barras de rolagem estilizadas.
  • Datepickers: Seletores de data com design atraente.

Para personalizar, basta consultar a documentação e usar o parâmetro bootstyle com o estilo desejado. Por exemplo, um botão com estilo light pode ser menos chamativo, enquanto warning destaca um label em amarelo.

ConclusĂŁo

Com o TTKBootstrap, é possível transformar interfaces Tkinter em aplicações visualmente atraentes com apenas duas linhas de código: a importação do módulo e a aplicação de um tema. A biblioteca oferece uma vasta gama de estilos e temas, permitindo personalizações simples e eficazes. Se você quer criar interfaces gráficas modernas em Python, o TTKBootstrap é uma ferramenta indispensável.

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?

Posts mais recentes de Python

Posts mais recentes da Hashtag Treinamentos