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()