Question / Amélioration
Win10, Raspienne
3.7
Port tkinter, 4.20.0
4.20.0 Publié le 6 juin 2020
1 an_________ d'expérience en programmation Python
45 ans_________ d'expérience en programmation dans l'ensemble
oui_________ Avez-vous déjà utilisé un autre framework d'interface graphique Python (tkinter, Qt, etc.) (oui/non c'est bien) ?
Mon application est pour une interface graphique sur framboise avec des éléments mis à jour en temps réel (fenêtre async)
. Cela fonctionne bien, mais certaines fonctionnalités supplémentaires dans pysimplegui seraient géniales :
Question1 : Veuillez fournir une liste d'attributs d'éléments de texte pouvant être mis à jour par window['xxkey'].update().
Question2 : A quoi sert le _f_ in window[f'xxkey'] apparaissant dans certains de vos exemples
Proposition d'amélioration : importante pour la mise à jour dynamique, c'est par exemple 'border_width' sur un texte.
exemples de travail :
fenêtre['K_BATT_STATE'].update('LOW')
window[f'K_BATT_V'].update(background_color='green')
exemple ne fonctionne pas :
fenêtre[f'K_BATT_V'].update(border_width=2)
La documentation et les chaînes doc intégrées vous indiquent exactement ce qui est disponible pour la méthode de mise à jour de chaque élément. Jetez un œil à la référence d'appel détaillée.
http://calls.PySimpleGUI.org
S'il n'y a pas quelque chose, vous avez plusieurs choix. Vous pouvez manipuler directement le Widget sous-jacent, ou ouvrir une demande d'amélioration.,
Comme je le savais
Demo_Column_Elem_Swap_Entire_Window.py
. f-string utilisé pour le remplacement de sous-chaîne par une variable.Un échantillon pour vous.
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()
Merci beaucoup Jason !
Lorsqu'une fonctionnalité d'un "widget" sous-jacent n'est pas exposée via les API PySimpleGUI, vous pouvez utiliser la variable membre .Widget
pour accéder directement au widget du framework GUI sous-jacent. Vous perdez la portabilité d'un framework à un autre, mais ce n'est généralement pas un problème dans ces cas.
Heureux que vous ayez une solution qui vous convient.
Salut Jason, salut Mike
Merci beaucoup! Les deux réponses sont utiles et ont mis fin à ma souffrance :-) en quelques minutes.
Pysimplegui est un excellent produit avec un support incroyable !
Dès que mon projet sera utilisable, je le publierai sur mon compte git. Il s'agit d'une alimentation sans coupure et à haut rendement pour tous les modèles de framboise 3++ et pi zero et comprend une conception matérielle et logicielle complète.
Commentaire le plus utile
Comme je le savais
Demo_Column_Elem_Swap_Entire_Window.py
. f-string utilisé pour le remplacement de sous-chaîne par une variable.Un échantillon pour vous.