Autor Tema: Obtener el ancho en píxeles de una palabra en Python.  (Leído 4700 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Daniel1952

  • PIC16
  • ***
  • Mensajes: 127
Obtener el ancho en píxeles de una palabra en Python.
« en: 11 de Septiembre de 2022, 13:05:30 »
Hola gente, ¿cómo están? Hola Picuino, necesitaría saber si se puede obtener
alguna relación entre píxeles y palabra.-
Para ejemplificar, tengo un widget TEXT y necesito relacionar
el contenido en fila/columnas para establecer las dimensiones
de este y la ventana.-

Bueno, es todo, no muestro el código porque no lo creo necesario
y además me parece que no te llevas muy bien con tkinter, jajajajaja.-

Slds. Daniel ☕☕☕
abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-

Desconectado Picuino

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5892
    • Picuino
Re:Obtener el ancho en píxeles de una palabra en Python.
« Respuesta #1 en: 12 de Septiembre de 2022, 17:20:09 »
Hola Daniel. Como bien dices no conozco tkinter. Apenas he hecho algunas pruebas con ese entorno y tendría que ponerme a investigar. El problema es que ahora estoy con mucha tarea que me tiene ocupado.

Prueba a buscar en google traduciendo al inglés. Por ejemplo:
https://www.tutorialspoint.com/how-to-get-the-width-of-the-tkinter-widget

https://stackoverflow.com/questions/14887610/specify-the-dimensions-of-a-tkinter-text-box-in-pixels

Desconectado Daniel1952

  • PIC16
  • ***
  • Mensajes: 127
Re:Obtener el ancho en píxeles de una palabra en Python.
« Respuesta #2 en: 13 de Septiembre de 2022, 16:26:33 »
Hola Picuino, buen día, dejo lo que pude lograr, si bien es bastante rebuscado
parece ser que la medida en píxeles no funciona con un string, solamente
sirve para los widget, muy buenas las páginas que me sugeriste.

Código: Python
  1. import tkinter as tk
  2. from tkinter import ttk
  3.  
  4. def pixeles():
  5.     measure = tk.Label(ventana, font = ("Vardana", 12), text = var.get())
  6.     measure.place(x=5, y=8)
  7.     measure.update_idletasks()
  8.     width = measure.winfo_width()
  9.     pixeles = f'"{var.get()}" tiene una ancho de {width} pixeles'    
  10.     measure.config(text = pixeles)
  11.     measure.update_idletasks()
  12.     w = measure.winfo_width() + 10
  13.     h = 150
  14.     x = 700
  15.     y = 500
  16.     ventana.geometry('%dx%d+%d+%d' % (w, h, x, y))
  17.  
  18.  
  19.  
  20. ventana = tk.Tk()
  21. ventana.geometry("300x150+700+500")
  22.  
  23. var = tk.StringVar()
  24. medir = ttk.Entry(ventana, font = ("Vardana", 12), width=30,
  25.               textvariable=var)
  26. medir.place(x=10, y=40)
  27.  
  28. boton = ttk.Button(ventana, text="Medir",
  29.        command=pixeles)
  30. boton.place(x=110, y=80, width=80, height=40)
  31.  
  32. medir.focus()
  33.  
  34. ventana.mainloop()
Slds. Daniel ☕☕☕
abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-


 

anything