GUI Framework

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
Alsen
User
Beiträge: 12
Registriert: Dienstag 6. November 2018, 12:50

Guten Tag Leute,

ich schreibe aktuell ein Python Tool und möchte dazu eine GUI schreiben, die opensource und für kommerzielle Zwecke nutzbar ist.
Bisher habe ich mit tkinter und matplotlib gearbeitet, welches ich auch sehr mochte, jedoch kommt mir die GUI sehr alt vor (auch mit ttk) und das autoscaling ist auch so eine , die ich bisher nicht in den Griff bekommen habe.
In Frage kommen würden glaube ich Pyforms, Kivy, und zum Plotten Plotly (scheint schönere Grafiken zuhaben).
Könnt ihr unter diesen beiden eine Empfehlung aussprechen, bei der das Autoscaling auch gut zu realisieren ist.

Vielen Dank im vorraus
__deets__
User
Beiträge: 14536
Registriert: Mittwoch 14. Oktober 2015, 14:29

Plotly benutzt einen Webbrowser als Darstellungsengine. Ich bezweifele, dass du das in Kivy eingebettet bekommst. Mit Qt hast du zumindest eine eigene Webview-Implementierung, vielleicht hilft das ja. Ansonsten fiele einem noch Electron ein. Damit lieferst du quasi Chrome aus. Ob da ueberhaupt noch Python zum Einsatz kommen muss, steht dann auf einem anderen Blatt.
Alsen
User
Beiträge: 12
Registriert: Dienstag 6. November 2018, 12:50

Es soll aufjedenfall keine Webanwendung werden und Qt kommt nicht in Frage, weil es nicht kommerziel nutzbar ist ohne eine Lizenz zu kaufen. Habe mich da wohl nicht eindeutig ausgedrückt.
Und plotly lässt sich auch offline nutzen, da man ja die Bibliothek runterladen kann oder verstehe ich da jetzt was falsch.
__deets__
User
Beiträge: 14536
Registriert: Mittwoch 14. Oktober 2015, 14:29

Du verstehst da was falsch. Plotly generiert IMMER HTML.Ob es das nun auf deinem Rechner tut, oder bei denen gehostet, ist egal. Die Darstellung erfolgt IMMER im Browser. Womit du eine Webanwendung hast, auf die ein oder andere Art. Und wenn Qt dein Problem loest, und du kommerziell bist, verstehe ich nicht, wo das Problem ist ein paar Hundert Euro auszugeben. Aber das musst du natuerlich selbst wissen. Kivy jedenfalls kann das nicht, tkinter noch weniger. Ausser Qt oder nativen Toolkits wie Cocoa die dir wohl kaum helfen werden kenne ich da halt nix.
__deets__
User
Beiträge: 14536
Registriert: Mittwoch 14. Oktober 2015, 14:29

Nachtrag: eine Electron-Anwendung ist (oder kann) vollkommen lokal sein. Es ist halt trotzdem ein eingebauter Browser. Die haben halt die besten verfuegbaren Layout- und Renderingengines fuer solche Anwendungsfaelle. Darum nehmen plotly und bokeh die ja auch.
Alsen
User
Beiträge: 12
Registriert: Dienstag 6. November 2018, 12:50

Verstehe, vielen Dank.
Was würde denn jetzt explizit gegen Kivy sprechen, denn Punkt hatte ich nicht ganz verstanden?. Dass Kivy keine Webanwendung ermöglicht ist mir klar und auch meinerseits gar nicht gewollt. Die Widgets sehen im Vergleich zu denen von Tkinter viel besser aus finde ich.
__deets__
User
Beiträge: 14536
Registriert: Mittwoch 14. Oktober 2015, 14:29

Kivy kann keinen Webbrowser einbetten. Out-of-the-box kann das meines Wissens nur Qt wenn du auf der Suche nach einem klassischen Toolkit bist. Und ohne Webbrowser kannst du halt kein Plotly benutzen.
Sirius3
User
Beiträge: 17747
Registriert: Sonntag 21. Oktober 2012, 17:20

@Alsen: der Punkt ist, dass Plotly nicht geht. Du wirst wohl am glücklichsten mit Kivy + Matplotlib
Alsen
User
Beiträge: 12
Registriert: Dienstag 6. November 2018, 12:50

Ah ok hatte nicht verstanden, dass @_deets_ sich auf Plotly bezieht. Aktuell benutze ich ja die Kombi tk und matplotlib und es funktioniert auch alles super gut. Die Idee für Kivy ist gekommen weil es moderner aussieht. Aber eine bessere Performance kann man denke ich nicht erwarten oder ?

Danke nochmals Sirius3 ! und dir auch _deets_
__deets__
User
Beiträge: 14536
Registriert: Mittwoch 14. Oktober 2015, 14:29

Was heisst denn bessere Performance? Davon war bisher nicht die Rede, da ist mir unklar, was du damit jetzt meinst. Kivy ist schoener und eine gute Wahl, nur fuer das rendern deiner Graphen musst du halt gucken, wie du das hinbekommst. Aber gerade hat hier doch jemand sein neues Projekt basierend auf Qt vorgestellt, und die Graphen da sehen ganz cool aus. Aber da ist dann wieder Kohle ein Thema...
Alsen
User
Beiträge: 12
Registriert: Dienstag 6. November 2018, 12:50

Das mit der Performance war nur eine Nebenfrage. Überlege es mir mal gut ob es sinnvoll wäre ein neues Framework zu lernen wenn es tkinter auch tut. Da hab ich halt leider das Problem, dass das mit der autoscalierung nicht klappt, was ich nicht verstehe.
__deets__
User
Beiträge: 14536
Registriert: Mittwoch 14. Oktober 2015, 14:29

Keine Ahnung. Da du nix zeigst, mit dem man das Problem nachvollziehen kann ;)
Alsen
User
Beiträge: 12
Registriert: Dienstag 6. November 2018, 12:50

Will für meinen Code nicht virtuell gesteinigt werden :D . Ist alles prozedural mit einer Menge globaler Variablen implementiert worden, aber es funktioniert halt. Aber möchte es jetzt bald objektorientiert implementieren.
Antworten