A Barra de ferramentas é um componente utilizado pelos softwares com interface gráfica (GUI) com a finalidade de permitir uma ação rápida por parte do usuário, facilitando o acesso a funções do programa. Uma das suas características é possuir ícones para as operações mais corriqueiras e representar através de imagens operações que poderiam demandar uma grande quantidade de informações para chegar ao mesmo objetivo.
Toolbar
O Python Tkinter não possui um widget padrão para o componente barra de ferramentas, então é necessário criar uma manualmente, usando outros componentes Tkinter.
Exemplo:
Neste exemplo criamos uma barra de ferramentas usando o widget do Tkinter chamado Frame, utilizando botões e seus eventos de clique. Para testar este exemplo você precisa de imagens de ícones do formato PNG, as imagens podem ser baixadas neste link: http://www.iconesbr.net/icone/Linux
Python
#!/usr/bin/env python
# -*- coding: latin-1 -*-
# Desenvolvimento Aberto
# Toolbar.py
# importa modulos
from Tkinter import Tk, Frame
from Tkinter import Label, Button, LEFT, TOP, X, FLAT, RAISED, SUNKEN
from PIL import Image, ImageTk
# Cria formulario
formulario = Tk()
formulario.title = "Desenvolvimento Aberto"
formulario.geometry("450x200+300+300")
# Eventos dos botões
def clique1():
rotulo["text"] = "Clique do botao 1"
def clique2():
rotulo["text"] = "Clique do botao 2"
def clique3():
rotulo["text"] = "Clique do botao 3"
# Cria componentes
ferramenta = Frame(height=130, bd=1, relief=RAISED)
separador = Frame(height=2, bd=1, relief=SUNKEN)
rotulo = Label(formulario, text="Eventos")
# Carrega Ícones
icone1 = Image.open("9449_128x128.png")
icone2 = Image.open("9450_128x128.png")
icone3 = Image.open("9451_128x128.png")
# Cria Imagens
imagem1 = ImageTk.PhotoImage(icone1)
imagem2 = ImageTk.PhotoImage(icone2)
imagem3 = ImageTk.PhotoImage(icone3)
# Cria botões
botao1 = Button(ferramenta, image=imagem1,relief=FLAT, command=clique1)
botao2 = Button(ferramenta, image=imagem2,relief=FLAT, command=clique2)
botao3 = Button(ferramenta, image=imagem3,relief=FLAT, command=clique3)
# Posiciona componentes
botao1.pack(side=LEFT, padx=2,pady=2)
botao2.pack(side=LEFT, padx=2,pady=2)
botao3.pack(side=LEFT, padx=2,pady=2)
ferramenta.pack(side=TOP, fill=X)
separador.pack(fill=X, padx=5, pady=5)
rotulo.pack(padx=20, pady=10)
# Loop do tcl
formulario.mainloop()


