Etiqueta Tkinter

Resumo : neste tutorial você aprenderá sobre o Labelwidget 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 Labelwidget, você usa a seguinte sintaxe geral:

label = ttk.Label(master, **options)Linguagem de código:  Python  ( python )

O Labelwidget 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.Wpara alinhamento à esquerda, centro e direita, respectivamente.tk.CENTERtk.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 justifyopçã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 wraplengthopçã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 Enotext='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 wraplengthopção.

A seguir mostramos um programa esqueleto que usaremos para ilustrar várias opções para o Labelwidget:

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 Labela classe do tkinter.ttkmó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 textpropriedade.

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 Labelconstrutor assim:

font = ('font name', font_size)Linguagem de código:  Python  ( python )

O fontargumento 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 Helveticafonte:

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 Labelwidget para exibir uma imagem, siga estas etapas:

Primeiro, crie um widget PhotoImage passando o caminho da foto para o PhotoImageconstrutor:

photo = tk.PhotoImage(file='./assets/python.png')Linguagem de código:  Python  ( python )

Segundo, atribua o PhotoImageobjeto à imageopção do Labelwidget:

Label(..., image=photo)Linguagem de código:  Python  ( python )

O exemplo a seguir mostra como usar um Labelwidget 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 textatributo e compounda opção.

A compoundopçã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.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *