es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Problema al usar la fuente de Pyglet en Tkinter.

Estoy intentando obtener una fuente desde la misma carpeta que el programa que estoy creando y usarla como fuente para cosas de Tkinter.
Anteriormente, simplemente usaría la fuente que tengo instalada en mi computadora, pero esto no es una opción ya que este es un programa que planeo compartir.

pyglet.font.add_file('testingFont.ttf')
myFont = font.Font(family="testingFont",size=24)
thisIsALabel = tk.Label(text="This is a label",
                        foreground="white",
                        background="black",
                        font=myFont)

Cuando hago esto, la fuente simplemente se carga como la predeterminada. También probé varias cosas que dieron el mismo resultado. Supongo que solo me falta algo simple.

Si ayuda en algo, el archivo de fuente se llama testingFont.ttf pero el nombre de la fuente es FamIo8.

Además, en mis importaciones:

import tkinter.font as font

Me pregunto si eso podría estar afectando algo.

Básicamente, ¿cómo puedo hacer que myFont cargue la fuente importada a través de pyglet?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para utilizar un archivo de fuente ubicado en el mismo directorio que su programa en Tkinter, puede seguir estos pasos:

    1. Primero, asegúrese de haber importado los módulos tkinter y tkinter.font:
    import tkinter as tk
    import tkinter.font as tkfont
    
    1. Luego, use Pyglet para cargar el archivo de fuente:
    import pyglet
    
    pyglet.font.add_file('testingFont.ttf')
    
    1. A continuación, cree un objeto TkFont especificando la familia de fuente y el tamaño:
    myFont = tkfont.Font(family='FamIo8', size=24)
    

    Tenga en cuenta que el nombre de la familia de la fuente debe coincidir con el nombre de la fuente tal como está guardado en el archivo de fuente, no con el nombre del archivo en sí.

    1. Finalmente, use el objeto TkFont como el parámetro de fuente al crear widgets de Tkinter, como etiquetas o botones:
    thisIsALabel = tk.Label(text='Esto es una etiqueta',
                            foreground='white',
                            background='black',
                            font=myFont)
    

    Con estos pasos, debería poder cargar y utilizar el archivo de fuente en su programa Tkinter.

Comments are closed.