Tkinter [dicas]

Um canal interessante para aprender usar tkinter na prática:

Vejam esse video, como fazer uma janela de configuração para seus programas tkinter:

2 curtidas

Para quem preferir pular um pouco do design na mão, existem ferramentas, básicas, para gerar a GUI do TKinter: windows - GUI drag & drop style GUI Builder for Python Tkinter - Software Recommendations Stack Exchange

1 curtida

Faz uns 6 meses que comecei a mexer com o tkinter e realmente é uma ferramenta bem completa. Tem gente que reclama do visual em si, mas para mim, particularmente, me agrada…
Criei algumas interfaces com tkinter que me ajudam bastante no workflow diário. Quando vc cria algum programa normalmente coloca funções específicas de uso próprio e isso é muito bom.
Aí vai um “showcase” de algumas interfaces que eu criei e uso bastante.

Um bloco de notas personalizado com algumas funções únicas, um “criador” de arquivos pré formatados, um menu de ajuda para os atalhos do BSPWM (instalei recentemente), um menu de desligamento, uma Bíblia offline e um Wiki com os registros do que aprendi com quase 1 ano de linux.

1 curtida

@JG22 @SobDex

Aqui eu uso tkinter com o ttkbootstrap, além de deixar um visual um pouco melhor tem uma API com alguns widgets extras, vc pode usar os temas padrão do ttkbootstrap.

https://ttkbootstrap.readthedocs.io/en/latest/api/

também tem a possibilidade de criar temas customizados atraves da ferramenta TTK Creator
https://ttkbootstrap.readthedocs.io/en/latest/themes/themecreator/

python3 -m ttkcreator

Exemplo de temas customizados tentando simular as cores dos temas mint-y e breeze:

aqui um exemplo de temas customizados que uso, esse aquivo é gerado pelo ttkcreator
~/.local/lib/python3.8/site-packages/ttkbootstrap/themes/user.py

USER_THEMES = {
    "mint-y-royal": {
        "type": "light",
        "colors": {
            "primary": "#3770aa",
            "secondary": "#d5d5d5",
            "success": "#02b875",
            "info": "#3f98d7",
            "warning": "#f47c3c",
            "danger": "#d9534f",
            "light": "#d5d5d5",
            "dark": "#343A40",
            "bg": "#f5f5f5",
            "fg": "#212020",
            "selectbg": "#3770aa",
            "selectfg": "#ffffff",
            "border": "#c7c7c7",
            "inputfg": "#212020",
            "inputbg": "#fff",
            "active": "#e5e5e5"
        }
    },
    "breeze": {
        "type": "light",
        "colors": {
            "primary": "#3daee9",
            "secondary": "#adb5bd",
            "success": "#63c605",
            "info": "#17a2b8",
            "warning": "#ffb900",
            "danger": "#d14452",
            "light": "#dbdcdc",
            "dark": "#1b1e20",
            "bg": "#eff0f1",
            "fg": "#232629",
            "selectbg": "#3daee9",
            "selectfg": "#232629",
            "border": "#bcbebf",
            "inputfg": "#232629",
            "inputbg": "#fff",
            "active": "#e5e5e5"
        }
    }

Aplico esses estilos para os botões:

#mint botões
self.style = ttk.Style()
self.style.configure('img.TButton', padding=[5,2])
self.style.configure('TButton', padding=[10,2])
self.style.configure('nonimg.TButton', padding=[10, 5])
self.style.configure('TButton', background='#fafafa', foreground=self.style.colors.fg, bordercolor=self.style.colors.border, darkcolor=self.style.colors.bg, lightcolor=self.style.colors.bg)
self.style.map("TButton", background=[('active', self.style.colors.inputbg)])


#breeze botões
self.style = ttk.Style()
self.style.configure('TButton', padding=[10,2])
self.style.configure('TButton', background='#f7f7f7', foreground=self.style.colors.fg, bordercolor=self.style.colors.border, darkcolor=self.style.colors.bg, lightcolor=self.style.colors.bg)
self.style.map("TButton", background=[('active', self.style.colors.inputbg)])


Como usar os estilos customizados nos botões:

self.botao = ttk.Button(self, text='Filtros', image=self.img_filter, compound=LEFT, style='img.TButton')
self.botao.pack()
2 curtidas

Muito bom!!! Vou experimentar