Pregunta / Mejora
Win10, Raspian
3,7
Puerto tkinter, 4.20.0
4.20.0 Lanzado el 6 de junio de 2020
1 año_________ experiencia en programación Python
45 años_________ Experiencia en programación en general
sí_________ ¿Ha usado otro marco de interfaz gráfica de usuario de Python (tkinter, Qt, etc.) anteriormente (sí / no está bien)?
Mi aplicación es para una GUI en frambuesa con elementos que se actualizan en tiempo real (ventana asíncrona)
. Está funcionando bien, pero algunas características adicionales en pysimplegui serían geniales:
Pregunta 1 : Proporcione una lista con los atributos de los elementos de texto que se pueden actualizar mediante la ventana ['xxkey']. Update ().
Pregunta 2 : ¿Cuál es el propósito de _f_ en la ventana [f'xxkey '] que aparece en algunos de sus ejemplos?
Propuesta de mejora : importante para la actualización dinámica es, por ejemplo, 'border_width' en un texto.
ejemplos de trabajo:
ventana ['K_BATT_STATE']. update ('LOW')
ventana [f'K_BATT_V ']. actualizar (background_color =' green ')
ejemplo que no funciona:
ventana [f'K_BATT_V ']. actualizar (border_width = 2)
La documentación y las cadenas de documentos incorporadas le dicen exactamente qué está disponible para el método de actualización de cada elemento. Eche un vistazo a la referencia detallada de la llamada.
http://calls.PySimpleGUI.org
Si no hay algo, tiene un par de opciones. Puede manipular directamente el widget subyacente o abrir una solicitud de mejora.
Como yo sabia
Demo_Column_Elem_Swap_Entire_Window.py
. f-string utilizado para el reemplazo de subcadenas por variable.Una muestra para ti.
import PySimpleGUI as sg
layout = [[sg.Text('Hello World !', font=('Courier New',20), key='TEXT1')],
[sg.Text('dlroW olleH !', font=('Courier New',20), key='TEXT2')]]
window = sg.Window('Text', layout, finalize=True)
window['TEXT1'].Widget.configure(borderwidth=5, relief='solid')
while True:
event, values = window.read()
if event == sg.WINDOW_CLOSED:
break
window.close()
¡Muchas gracias Jason!
Cuando una característica de un "widget" subyacente no se expone a través de las API de PySimpleGUI, entonces puede usar la variable miembro .Widget
para acceder directamente al widget del marco de la GUI subyacente. Pierde la portabilidad de un marco a otro, pero eso generalmente no es un problema en estos casos.
Me alegro de que tenga una solución con la que esté de acuerdo.
Hola Jason, hola Mike
¡Muchas gracias! Ambas respuestas son útiles para poner fin a mi sufrimiento :-) en cuestión de minutos.
¡Pysimplegui es un gran producto con un soporte increíble!
Tan pronto como mi proyecto sea utilizable, lo publicaré en mi cuenta de git. Es una fuente de alimentación ininterrumpida y de alta eficiencia para todos los modelos raspberry 3 ++ y pi zero e incluye un completo diseño de hardware y software.
Comentario más útil
Como yo sabia
Demo_Column_Elem_Swap_Entire_Window.py
. f-string utilizado para el reemplazo de subcadenas por variable.Una muestra para ti.