Um canal interessante para aprender usar tkinter na prática:
Vejam esse video, como fazer uma janela de configuração para seus programas tkinter:
Um canal interessante para aprender usar tkinter na prática:
Vejam esse video, como fazer uma janela de configuração para seus programas tkinter:
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
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.
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()
Muito bom!!! Vou experimentar