Aprende a utilizar todos los cursores de Tkinter

Tkinter cuenta con una serie de cursores que podemos
aplicar a una gran cantidad de widgets mediante el
atributo cursor
.
Este atributo se puede utilizar con el objeto de la
ventana (Tk()
), para que tome efecto sobre el
lienzo (la parte donde colocas los widgets), o sobre cada
widget concreto.
Si lo utilizas solo para la ventana, cada widget que contenga seguirá teniendo su valor de cursor por defecto; solo afectará al lienzo.
El atributo cursor en la ventana principal
Puedes modificar el cursor que se aplica por defecto en la
ventana, configurándola con el método
config()
y el atributo cursor
:
# Importación de Tkinter
import tkinter as tk
# Creación y configuración de la ventana
ventana = tk.Tk()
ventana.title("Python: Interfaces gráficas")
ventana.geometry("500x100")
ventana.config(cursor="Hand2")
# Entrada de texto
entrada = tk.Entry(ventana)
entrada.pack()
# Bucle de la ventana
ventana.mainloop()

Valores de cursor por defecto
Cada widget (incluida la ventana principal) cuenta con su
valor de cursor
por defecto. Si especificamos
un valor de cursor, el valor por defecto será reemplazado.
Puedes consultar en el código los valores por defecto de cada widget.
Si estás en Visual Studio Code, escribe el siguiente código (puede que en otros programas de desarrollo también funcione):
import tkinter as tk
tk.Button(cursor=)
tk.Entry(cursor=)
tk.Label(cursor=)
No ejecutes este código o te dará error; tan solo tienes
que pasar el cursor por el atributo cursor
de
uno de los widgets y pulsar el atajo
CTRL +
CLIC IZQ. Esto te llevará a la zona donde está declarado el
código interno del widget y verás los siguientes valores
(tienes que ir pulsando en cada atributo para ver el valor
de cada widget):
tk.Button(cursor=) -> cursor: _Cursor = ""
tk.Entry(cursor=) -> cursor: _Cursor = "xterm"
tk.Label(cursor=) -> cursor: _Cursor = ""


Las cadenas de caracteres vacías que tienen los widgets
Label()
y Button()
, indican que
se va a utilizar el cursor por defecto del sistema
operativo.
En cambio, el widget Entry()
tiene un valor
por defecto de "xterm"
. Este es el valor
designado al cursor de tipo texto, el típico que
encontraremos en cualquier procesador de texto.
Posibles valores de cursor
Para probar los siguientes valores para el atributo
cursor
, puedes empezar con este código:
import tkinter as tk
ventana = tk.Tk()
ventana.title("Python: Interfaces gráficas")
ventana.geometry("500x100")
ventana.config(background="black",
cursor="")
ventana.mainloop()
Tan solo tendrás que cambiar el valor de
cursor
, por los que verás a continuación. Con
el atributo cursor
tenemos muchas de
posibilidades.
Si pasas el cursor sobre el lienzo negro, podrás ver los cursores que vayas especificando para la ventana.
Aquí tienes un ejemplo:
ventana.config(background="black",
cursor="trek")

A continuación, tienes el listado completo de cursores de Tkinter para que tengas una referencia a mano:
![]() |
arrow |
![]() |
boat |
![]() |
based_arrow_down |
![]() |
based_arrow_up |
![]() |
bogosity |
![]() |
bottom_left_corner |
![]() |
bottom_right_corner |
![]() |
bottom_side |
![]() |
bottom_tee |
![]() |
box_spiral |
![]() |
center_ptr |
![]() |
circle |
![]() |
clock |
![]() |
coffee_mug |
![]() |
cross |
![]() |
cross_reverse |
![]() |
crosshair |
![]() |
diamond_cross |
![]() |
dot |
![]() |
dotbox |
![]() |
double_arrow |
![]() |
draft_large |
![]() |
draft_small |
![]() |
draped_box |
![]() |
exchange |
![]() |
fleur |
![]() |
gobbler |
![]() |
gumby |
![]() |
hand1 |
![]() |
hand2 |
![]() |
heart |
![]() |
icon |
![]() |
iron_cross |
![]() |
left_ptr |
![]() |
left_side |
![]() |
left_tee |
![]() |
leftbutton |
![]() |
ll_angle |
![]() |
lr_angle |
![]() |
man |
![]() |
middlebutton |
![]() |
mouse |
![]() |
pencil |
![]() |
pirate |
![]() |
plus |
![]() |
question_arrow |
![]() |
right_ptr |
![]() |
right_side |
![]() |
right_tee |
![]() |
rightbutton |
![]() |
rtl_logo |
![]() |
sailboat |
![]() |
sb_down_arrow |
![]() |
sb_h_double_arrow |
![]() |
sb_left_arrow |
![]() |
sb_right_arrow |
![]() |
sb_up_arrow |
![]() |
sb_v_double_arrow |
![]() |
shuttle |
![]() |
sizing |
![]() |
spider |
![]() |
spraycan |
![]() |
star |
![]() |
target |
![]() |
tcross |
![]() |
top_left_arrow |
![]() |
top_left_corner |
![]() |
top_right_corner |
![]() |
top_side |
![]() |
top_tee |
![]() |
trek |
![]() |
ul_angle |
![]() |
umbrella |
![]() |
ur_angle |
![]() |
xterm |
![]() |
X_cursor |
![]() |
watch |
Espacio publicitario
Espacio publicitario
Espacio publicitario