Resumo : neste tutorial você aprenderá sobre o Label
widget Tkinter e como usá-lo para exibir um texto ou imagem na tela.
Introdução ao widget Tkinter Label
O widget Tkinter Label
é usado para exibir um texto ou imagem na tela. Para usar um Label
widget, você usa a seguinte sintaxe geral:
label = ttk.Label(master, **options)
Linguagem de código: Python ( python )
O Label
widget possui muitas opções que permitem personalizar sua aparência:
Opções | Significado |
---|---|
âncora | Quando o texto e/ou imagem são menores que a largura, a opção de âncora determina onde posicioná-los ou tk.W para alinhamento à esquerda, centro e direita, respectivamente.tk.CENTER tk.E |
fundo | Defina a cor de fundo da etiqueta |
largura da borda | Use esta opção para criar um efeito para a etiqueta, por exemplo, plano, elevado, afundado, ranhurado e cume. |
aula_ | Especifique um nome de classe de widget personalizado para alterar a aparência do rótulo. |
composto | Especifique como exibir texto e imagem na etiqueta. |
cursor | Especifique a aparência do cursor do mouse quando o mouse estiver sobre o widget. |
Fonte | Especifique o estilo da fonte para exibir o texto |
primeiro plano | Especifique a cor do texto |
imagem | Especifique uma imagem ou imagens para mostrar além do texto ou em vez de texto. |
justificar | Se o texto contiver caracteres de nova linha, a justify opção especificará como cada linha será posicionada horizontalmente. Os valores válidos são tk.LEFT (justificar à esquerda), tk.CENTER (centro) e tk.RIGHT (justificar à direita). |
preenchimento | Adicione mais espaço ao redor do rótulo. |
alívio | Corte o texto em linhas menores que o comprimento especificado pela wraplength opção. |
estilo | Especifique o estilo do widget personalizado. |
foco | é um valor booleano que especifica se o rótulo é visitado durante a passagem do foco. O padrão é False, que não recebe foco. |
texto | Especifique uma sequência de texto para mostrar no widget |
variável de texto | Uma instância StringVar que contém o valor de texto do widget. Ela substitui a opção de texto se a variável de texto e o texto estiverem disponíveis. |
sublinhado | Especifique a posição da letra que deve ser sublinhada, por exemplo, sublinhado = 0 sublinharia a letra E notext='Exit' |
largura | Especifique o número de caracteres a serem exibidos |
comprimento de enrolamento | Corte o texto em linhas menores que o comprimento especificado pela wraplength opção. |
A seguir mostramos um programa esqueleto que usaremos para ilustrar várias opções para o Label
widget:
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.geometry('300x200')
root.resizable(False, False)
root.title('Label Widget Demo')
# show the label here
root.mainloop()
Linguagem de código: Python ( python )
Exibindo um rótulo normal
O programa a seguir mostra como exibir um rótulo normal na janela raiz:
import tkinter as tk
from tkinter.ttk import Label
root = tk.Tk()
root.geometry('300x200')
root.resizable(False, False)
root.title('Label Widget Demo')
# show a label
label = Label(root, text='This is a label')
label.pack(ipadx=10, ipady=10)
root.mainloop()
Linguagem de código: Python ( python )
Saída:
Como funciona.
- Primeiro, importe
Label
a classe dotkinter.ttk
módulo. - Segundo, crie a janela raiz e defina suas propriedades, incluindo tamanho, redimensionável e título.
- Terceiro, crie uma nova instância do widget Label, defina seu contêiner para a janela raiz e atribua uma string literal à sua
text
propriedade.
Definir uma fonte específica para o rótulo
Para definir uma fonte específica para um rótulo, você passa o font
argumento da palavra-chave para o Label
construtor assim:
font = ('font name', font_size)
Linguagem de código: Python ( python )
O font
argumento da palavra-chave é uma tupla que contém o nome e o tamanho da fonte. Por exemplo:
font=("Helvetica", 14)
Linguagem de código: Python ( python )
O exemplo a seguir mostra um rótulo com a Helvetica
fonte:
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.geometry('300x200')
root.resizable(False, False)
root.title('Label Widget Demo')
# label with a specific font
label = ttk.Label(
root,
text='A Label with the Helvetica font',
font=("Helvetica", 14))
label.pack(ipadx=10, ipady=10)
root.mainloop()
Linguagem de código: Python ( python )
Saída:
Exibindo uma imagem
Para usar um Label
widget para exibir uma imagem, siga estas etapas:
Primeiro, crie um widget PhotoImage passando o caminho da foto para o PhotoImage
construtor:
photo = tk.PhotoImage(file='./assets/python.png')
Linguagem de código: Python ( python )
Segundo, atribua o PhotoImage
objeto à image
opção do Label
widget:
Label(..., image=photo)
Linguagem de código: Python ( python )
O exemplo a seguir mostra como usar um Label
widget para exibir uma imagem:
import tkinter as tk
from tkinter import ttk
# create the root window
root = tk.Tk()
root.geometry('300x200')
root.resizable(False, False)
root.title('Label Widget Image')
# display an image label
photo = tk.PhotoImage(file='./assets/python.png')
image_label = ttk.Label(
root,
image=photo,
padding=5
)
image_label.pack()
root.mainloop()
Linguagem de código: Python ( python )
Saída:
Observe que o arquivo de imagem está localizado na /assets/
pasta.
Para exibir texto e imagem, você usará o text
atributo e compound
a opção.
A compound
opção especifica a posição da imagem em relação ao texto. Seus valores válidos são:
Composto | Efeito |
---|---|
'top' |
Exiba a imagem acima do texto. |
'bottom' |
Exiba a imagem abaixo do texto. |
'left' |
Exiba a imagem à esquerda do texto. |
'right' |
Exiba a imagem à direita do texto. |
'none' |
Exiba a imagem, se houver, caso contrário, exiba o texto. A opção composta tem como padrão 'none' . |
'text' |
Exiba o texto, não a imagem |
'image' |
Exiba a imagem, não o texto. |
O programa a seguir mostra como exibir texto e imagem em uma etiqueta:
import tkinter as tk
from tkinter import ttk
# create the root window
root = tk.Tk()
root.geometry('300x200')
root.resizable(False, False)
root.title('Label Widget Image')
# display an image label
photo = tk.PhotoImage(file='./assets/python.png')
image_label = ttk.Label(
root,
image=photo,
text='Python',
compound='top'
)
image_label.pack()
root.mainloop()
Linguagem de código: PHP ( php )
Saída:
Resumo
- Use o widget Tkinter Label para exibir texto ou imagens.