Frage / Verbesserung
Win10, Raspian
3.7
tkinter-Port, 4.20.0
4.20.0 Veröffentlicht am 6. Juni 2020
1 Jahre_________ Python-Programmiererfahrung
45 Jahre_________ Programmiererfahrung insgesamt
yes_________ Haben Sie zuvor ein anderes Python-GUI-Framework (tkinter, Qt usw.) verwendet (ja/nein ist in Ordnung)?
Meine App ist für eine GUI auf Himbeere mit Elementen, die in Echtzeit aktualisiert werden (asynchrones Fenster)
. Es funktioniert gut, aber einige zusätzliche Funktionen in pysimplegui wären großartig:
Frage1 : Bitte stellen Sie eine Liste mit Textelementattributen bereit, die von window['xxkey'].update() aktualisiert werden können.
Frage 2 : Was ist der Zweck des _f_ in window[f'xxkey'], das in einigen Ihrer Beispiele erscheint?
Verbesserungsvorschlag : Wichtig für dynamisches Update ist zB 'border_width' auf einem Text.
Arbeitsbeispiele:
Fenster['K_BATT_STATE'].update('LOW')
window[f'K_BATT_V'].update(background_color='green')
nicht funktionierendes Beispiel:
window[f'K_BATT_V'].update(border_width=2)
Die Dokumentation und die integrierten Doc-Strings sagen Ihnen genau, was für die Update-Methode jedes Elements verfügbar ist. Sehen Sie sich die detaillierte Anrufreferenz an.
http://calls.PySimpleGUI.org
Wenn etwas nicht vorhanden ist, haben Sie mehrere Möglichkeiten. Sie können das zugrunde liegende Widget direkt bearbeiten oder eine Verbesserungsanfrage öffnen.,
Wie ich weiß
Demo_Column_Elem_Swap_Entire_Window.py
. f-Zeichenfolge, die zum Ersetzen von Teilzeichenfolgen durch eine Variable verwendet wird.Ein Muster für Sie.
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()
Vielen Dank Jason!
Wenn eine Funktion eines zugrunde liegenden "Widgets" nicht über die PySimpleGUI-APIs verfügbar gemacht wird, können Sie die Membervariable .Widget
, um direkt auf das Widget des zugrunde liegenden GUI-Frameworks zuzugreifen. Sie verlieren die Portabilität von einem Framework zu einem anderen, aber das ist in diesen Fällen im Allgemeinen kein Problem.
Schön, dass Sie eine Lösung haben, mit der Sie einverstanden sind.
Hallo Jason, Hallo Mike
Vielen Dank! Beide Antworten sind hilfreich beendete mein Leiden :-) innerhalb von Minuten.
Pysimplegui ist ein großartiges Produkt mit einer unglaublichen Unterstützung!
Sobald mein Projekt nutzbar ist, werde ich es auf meinem Git-Account veröffentlichen. Es ist ein unterbrechungsfreies und hocheffizientes Netzteil für alle Raspberry-Modelle 3++ und pi zero und beinhaltet ein komplettes Hardware- und Software-Design.
Hilfreichster Kommentar
Wie ich weiß
Demo_Column_Elem_Swap_Entire_Window.py
. f-Zeichenfolge, die zum Ersetzen von Teilzeichenfolgen durch eine Variable verwendet wird.Ein Muster für Sie.