Servus,
ich habe einen code in python (basierend auf python 3.4.3).
Nun möchte ich für die einfachere Bedingung, eine GUI dafür erstellen.
Wenn ich richtig verstanden habe, unterstützt python keine GUI. Ist es
möglich irgendwie über C# python aufzurufen, auch über comand line oder
so, und dann die Befehle, je nach dem was in GUI ausgewählt wird,
abarbeiten.
Ich habe was über Ironpython gelesen, aber das scheint nur python 2.7 zu
unterstützen.
Kann mir einer Helfen und sagen wie ich am besten ohne grossen Aufwand
für python code eine GUI erstellen kann? Ein Link oder ein Beispiel Code
wäre echt super!
Gruss Michael
Naja dir sollte halt klar sein, dass Python ein Skriptsprache ist und
keine Programmiersprache. Natürlich sind die Grenzen da fließend und man
kann das eine mehr oder weniger gut für das Andere verwenden. Trotzdem
wirst du nie den Look-&Feel von Qt oder ähnlichem erreichen. Du solltest
ein Python GUI eher als Notlösung sehen.
Michael schrieb:> Kann mir einer Helfen und sagen wie ich am besten ohne> grossen Aufwand für python code eine GUI erstellen kann?
Ich find Tk ziemlich cool, allerdings in Kombination mit Tcl.
Sollte ich mal auf python umsteigen, wäre für mich sicher
Tkinter die erste Wahl.
Peter schrieb:> Trotzdem> wirst du nie den Look-&Feel von Qt oder ähnlichem erreichen. Du solltest> ein Python GUI eher als Notlösung sehen.
Schwachsinn!
Peter schrieb:> Naja dir sollte halt klar sein, dass Python ein Skriptsprache ist> und> keine Programmiersprache. Natürlich sind die Grenzen da fließend und man> kann das eine mehr oder weniger gut für das Andere verwenden. Trotzdem> wirst du nie den Look-&Feel von Qt oder ähnlichem erreichen. Du solltest> ein Python GUI eher als Notlösung sehen.
Oder du benutzt Python mit QT wie tausende andere Leute. Da erreicht man
ganz gut Look&Feel von QT!
Warum sollte Python eigentlich keine Programmiersprache sein?
Hallo Michael.
Michael schrieb:> ich habe einen code in python (basierend auf python 3.4.3).> Nun möchte ich für die einfachere Bedingung, eine GUI dafür erstellen.> Wenn ich richtig verstanden habe, unterstützt python keine GUI.
Das stimmt nicht. Für Python 3 gibt es eine Bibliothek, tkinter, die
genau für den Zeck gedacht ist.
Die gibt es schon für Python 2, wurde aber dort großgeschrieben.
tkinter gehört eigentlich zu fast jeder Distribution von Python 3 dazu.
Damit ist dann das Skript auch direkt für jede Plattform geeignet, auf
der Python 3 läuft.
> oder ein Beispiel Code wäre echt super!
Siehe im Anhang "Buttontest2.py"
Ein weiteres Beispiel mit weniger Grafik, aber mit einer echten
sinnvollen Anwendung, Dateioperation ec. findet sich hier:
http://www.mikrocontroller.net/wikifiles/9/90/PyKicadSchematic-ID_Interchanger_RevC.zip
Wenn Du Probleme mit dem Starten hast, wird wohl versehentlich der
Interpreter für P<thon 2 verwendet. Darum im Zweifel explizit Idle3
starten, das Skript einlesen und über "run" starten. Das sollte
funktionieren. Ganz selten: Wenn dann noch eine Fehlermeldung über ein
fehlendes tkinter kommt, dieses Nachinstallieren.
GUIs sind auch für Skripte eine sehr sinnvolle Erweiterung, weil es
damit einfacher wird, den User durch Auswahlmechanismen navigieren zu
lassen.
Dienstlich habe ich z.Z. oft damit zu tun, irgendwelche Hilfsprogramme
oder Skripte einzusetzten. Und zwar täglich etliche verschiedene, und
dann genau diese erstmal für Wochen oder gar Monate nicht mehr. Mit
reinen Kommandozeilen müsste ich mich dann jedesmal neu einlesen.
Bei "echter" Grafikanwendung zeigen sich natürlich Grenzen. Meine Idee,
damit eine Art Gerberviewer wie aus
https://www.mikrocontroller.net/wikifiles/5/5a/PyGerberAnalyse_B5_13Jun2013.zip
schreiben zu wollen, darf natürlich zu recht als Grenzwertig eingestuft
werden. Aber für Kleinkram geht es trozdem gut genug.
Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.l02.de
Peter schrieb:> Naja dir sollte halt klar sein, dass Python ein Skriptsprache ist und> keine Programmiersprache. [...] Trotzdem> wirst du nie den Look-&Feel von Qt oder ähnlichem erreichen. Du solltest> ein Python GUI eher als Notlösung sehen.
1. Skriptsprachen sind auch Programmiersprachen.
2. Viele verbreitete Skriptsprachen hinken dank JIT-Compilern den
compilierten Programmiersprachen performancemässig für fast alle
praktischen Zwecke in keiner Weise mehr hinterher. Ausnahmen vielleicht
Hochleistungs-Rechnen, Games und Systemprogrammierung. Aber sicher nicht
eine typische GUI-Anwendung ohne Low-Level-Zeugs oder aufwendige
Algorithmen.
3. Diejenige Sprache, in der am meisten GUIs programmiert werden, ist
eine Skriptsprache: Javascript zusammen mit HTML. Auch Dinge, die einer
nativen Desktop-GUI kaum/nicht mehr nachstehen.
WICHTIGER NACHTRAG:
Bernd W. schrieb:> Siehe im Anhang "Buttontest2.py"
Es fehlte das Hintergrundbild "P600-Dioden2.gif" im vorherigen Beitrag.
Es muss im gleichen Ordner wie das Skript stehen.
Wenn Du eine lange Fehlermeldung die mit "_tkinter.TclError: couldn't
open "P600-Dioden2.gif": no such file or directory" endet, erhälst, ist
es genau das Problem.
Natürlich kannst Du auf die Tour dort ein eigenes Gif einbinden.
>> Ein weiteres Beispiel mit weniger Grafik, aber mit einer echten> sinnvollen Anwendung, Dateioperation ec. findet sich hier:> http://www.mikrocontroller.net/wikifiles/9/90/PyKicadSchematic-ID_Interchanger_RevC.zip
Dort findet sich auch das Beispiel einer "Inline" Anwendung von Grafik
nach einer Base64 Wandlung (die Sprachauswahl Buttons). "Inline" meint
hier, dass die Werte für die Grafik als Textartiger Block im Programm
selber stehen. Das erleichtert die Portabilität, ist aber natürlich nur
für kleine Grafiken wie z.B. Buttons sinnvoll.
Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.l02.de
kleine Frage zu tkinter, da ich es noch nie verwendet habe:
Gibt es fuer die GUI eigentlich auch einen Editor/Designer, so wie es
bei Qt/PyQt der fall ist? (zumindestens unter Windows gibt es fuer PyQt
den Designer den es auch fuer das normale Qt gibt)
Hallo Kaj.
Kaj schrieb:> Gibt es fuer die GUI eigentlich auch einen Editor/Designer, so wie es> bei Qt/PyQt der fall ist?
Meines Wissens nicht. Für die meist einfach gestrickte Fälle besteht
dazu auch nicht so recht der Bedarf.
Ich lasse mich aber gerne vom Gegenteil überzeugen.
Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.l02.de
Hallo Stephan.
Stephan G. schrieb:> ich mache die einfachen oberflächen mit pygame, ist nicht immer optimal,> aber ...
Gibt es demm pygame mittlerweile für Python 3?
Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.l02.de