tkinter aus browser betrachten

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
reinerdoll
User
Beiträge: 72
Registriert: Samstag 15. Juli 2017, 18:47

hallo,

ich hab hier schon ein paar schräge fragen gestellt, und neben berechtigter kritik auch viele sehr gute ratschläge erhalten.

mittlerweilen läuft ein digitaler zwilling, in python mit tkinter erstellt, und virtualisiert eine kleine modellfabrik (bestückung, förderband, stopper...solche dinge).
leitechnische skripte können am zwilling entwickelt werden, und sind duch einfaches tauschen einer klassenbibliothek vom zwilling auf die reale anlage übertragbar.

ein nettes gimmick wäre jetzt, den zwilling (also die tkinter-grafik), browserfähig zu machen. es könnte z.b. jedesmal, wenn die grafik refresh macht (.update), ein bild gezogen, und im apache "online" angeboten werden. bevor ich mich jetzt selbst ans werk mache : weiß jemand, ob es sowas schon gibt ?
Benutzeravatar
sparrow
User
Beiträge: 4535
Registriert: Freitag 17. April 2009, 10:28

Wenn du es im Browser brauchst, warum hast du dann nicht gleich eine Webanwendung draus gemacht? Dann hättest du doch die ganze GUI dort abbilden können.

Ansonsten ist mir kein Weg bekannt TK irgenwie im Browser darzustellen.
reinerdoll
User
Beiträge: 72
Registriert: Samstag 15. Juli 2017, 18:47

die browserdarstellung wäre nur eine nette erweiterung, ist nicht zwingend nötig.
ich würde es deshalb auch nicht komplett als webanwednung neu schreiben ...

ich hatte mal eine anwendung, in der in 10hz-raster standbilder einer kamera auf dem http-kanal ausgegeben wurden, das war ein brauchbarer "livestream".
so ähnlich dachte ich mir das mit tkinter, es müßte halt einen weg geben, das update-bild der grafik als gif oder so einigermaßen flott zu exportieren.
Benutzeravatar
__blackjack__
User
Beiträge: 14018
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@reinerdoll: Der einfachste/generischste Weg GUI-Anwendunge in den Browser zu bringen dürfte so etwas wie noVNC sein, also einfach den gesamten Desktop per VNC in den Browser.

Ansonsten ist das natürlich reichlich ineffizient Bilder/Schnappschüsse von der Anwendung in den Browser zu bringen, egal ob man das nun mit VNC oder etwas was man selbst programmiert, macht.

Ich würde dann doch eher etwas mit Websockets und JavaScript und Canvas auf der Client-Seite programmieren und vielleicht eine Facade für `tkinter`'s `Canvas` die gleichzeitig das `Canvas` bearbeitet und diese Informationen gegebenenfalls per Websocket auch an einen Webbrowser schickt.
“The best book on programming for the layman is »Alice in Wonderland«; but that's because it's the best book on anything for the layman.” — Alan J. Perlis
reinerdoll
User
Beiträge: 72
Registriert: Samstag 15. Juli 2017, 18:47

damit kann ich in tkinter schnappschüsse machen :

twin = tk.Canvas(width=900, height=800)
def getter(widget):
x=widget.winfo_rootx()+widget.winfo_x()
y=widget.winfo_rooty()+widget.winfo_y()
x1=x+widget.winfo_width()
y1=y+widget.winfo_height()
ImageGrab.grab().crop((x,y,x1,y1)).save("d:\canvastest.jpg")

die muß ich noch richtig parametrieren, dann sollte ein "ratterfilm" (erinnerung an die slapstick-zeit ;-) möglich sein. das würde mir reichen ..
Antworten