welches Modul für nette grafische Oberflächen :)

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
meneliel
User
Beiträge: 256
Registriert: Montag 25. Juni 2007, 08:35
Kontaktdaten:

Hallo,

da ich nun schon einige kleinere und größere Scripte habe und bis zum Abschluss meiner Diplomarbeit noch ein paar dazu kommen, hab ich mir überlegt, dass ich halt auch als Abschluss noch eine kleine Oberfläche dazu bastel, von der man alle benötigeten Script starten kann.

Könnte die zwar auch ins ArcGIS integrieren und von dort aus starten, aber das ist dann glaub ich etwas umständlich, wenn man die Script von einem anderen PC aus starten will.

Jedenfalls hab ich in ner freien Minute nun schon mal angefangen ein bisschen über TKinter zu lesen und ein klein wenig rumgespielt. Natürlich hab ich auch hier ein bisschen rumgelesen. Ich weiß nicht mehr, wer von Euch es war, aber irgendwo, bilde ich mir ein gelesen zu haben, dass wer meinte, besser kein TKinter zu nehmen, sonder ein anderes Modul?

Da alles zu 99% von Windows aus gestartet wird, wäre es auch toll gleich ein Modul zu haben, wo ich normale Windows Datei-Auswahl Fenster habe. (Also Fenster mit der Funktionlität, die ich überall habe, wenn ich Dateien abspeichern und öffnen will, damit ich Pfadangaben nicht per Hand eingeben muss, sondern browsen kann - ich denke ihr wisst was ich meine ;-)). Ich weiß für VBA für ArcGIS musste ich dafür noch extra irgendwelches Zeugs installieren. Gibt es so was besser und schöner und kompakter für Python auch?
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

meneliel hat geschrieben:wäre es auch toll gleich ein Modul zu haben, wo ich normale Windows Datei-Auswahl Fenster habe.
Hallo meneliel!

pywin32 --> http://sourceforge.net/project/showfile ... p_id=78018

http://www.python-forum.de/topic-3884.html

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
lunar

Naja, ein Dateidialog macht noch lange keine vollständige GUI ;)

Ich würde Qt4 empfehlen, damit habe ich gute Erfahrungen gemacht. Allerdings ist das ein komplettes Toolkit und beschränkt sich nicht auf GUIs. Insofern ist es vielleicht etwas oversized. Deswegen wäre vielleicht auch wxWidgets einen Blick wert...

Beide Toolkits entsprechen dem Windows-Stil, damit erstellte Oberflächen haben den nativen Windows-Look.
Benutzeravatar
Michael Schneider
User
Beiträge: 569
Registriert: Samstag 8. April 2006, 12:31
Wohnort: Brandenburg

Hi meneliel,

also ich wüsste nicht, was gegen Tkinter sprechen sollte. Mag daran liegen, dass ich so wie so ein Fan davon bin.

Code: Alles auswählen

import tkFileDialog

#	such Dir was aus
sFileName = tkFileDialog.askopenfilename(
	defaultextension = ".txt",
	filetypes = [("ALL", "*.*"), 
	             ("text", "*.txt"), 
				 ("wordpad", "*.wri")],
	initialdir = "C:\\",
	initialfile = "xyz.txt",
	title = "Bitte Eingabedatei waehlen..."
)

if sFileName:
	print "Datei %s ausgewaehlt" % sFileName
else:
	print "Hier die Abbruchanweisungen"
Beim oeffnendialog wird sogar automatisch geprueft, ob die Datei wirklich existiert. Wenn nicht wird ein entsprechender Hinweis bei der Eingabe ausgegeben.

Grüße,
Michael
Diese Nachricht zersört sich in 5 Sekunden selbst ...
schlangenbeschwörer
User
Beiträge: 419
Registriert: Sonntag 3. September 2006, 15:11
Wohnort: in den weiten von NRW
Kontaktdaten:

Ich schließe mich einfach mal an. Tkinter ist grade auf Windows gut. Wenns nicht nur ein Filedialog sein soll, gibts auch einige Erweiterungen, falls die "normalen" Sachen nicht reichen (tix, pmw, wck, ...)
Doku gibts auch genug und bei Python ists meistens mit dabei.
meneliel
User
Beiträge: 256
Registriert: Montag 25. Juni 2007, 08:35
Kontaktdaten:

Danke für Eure Antworten.

Ich weiß ja auch nicht, was dagegen spricht, wie gesagt ich glaube nur hier irgendwo was gelesen zu haben, von irhemdwem, der meinte, nicht so toll.

Das Hauptproblem was ich ein bisschen habe, wird am Ende glaub ich gar nicht die Umsetzung der einzelnen kleinen Probleme, die sind gar nicht so schwer und Python liegt mir von der Sache her sehr gut, sondern in der Masse an Modulen und so weiter durch zu sehen und in jedem Fall zu wissen, wann welches am Besten und Wofür geeignet ist.

So hab ich einige Sachen eher durch Zufall gefunden, so beim Durchblättern meiner Bücher, aber da steht halt auch nicht alles drin und ich hab jetzt schon 3 Stück :)

Danke, dass Ihr so geduldig meine ganzen Noob-Fragen beantwortet, die am Ende gar nicht so viel mit Python Code, sondern dem Ganzen drumherum zu tun haben :)

BTW: ich suche eine Alternative zur IDLE, die nutz ich immer zum Testen, bevor ich irgenwas in nen fertiges Script packe... ist vor allem für die GIS Sachen irgendwie ganz praktisch. Also was wo ich Commandozeilen ähnlich arbeiten kann, fertige Scripte starten kann, schön wär auch ne kleine Entwicklungsumgebung ähnlich wie Notepad ++, was ich dazu bisher benutze.
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

Editoren für Python

Ich empfehle WingIDE, Komodo und VIM.
(Von WingIDE gibt's übrigens auch'ne kostenlose Version, für alle die's nicht mitbekommen haben... die ist ganz gut ^_^)

Zu den GUI Toolkits... WinAPI nativ über pywin ansprechen find ich ziemlich anstrengend, Tkinter irgendwie hässlich. GTK unter Windows sehr aufgebläht (bitte nicht töten .__.). wxPython ist mein Liebling, sehr "pythonisch" und schön. Könntest auch FLTK benutzen, wenn du ganz abstrakt sein willst ^__^
schlangenbeschwörer
User
Beiträge: 419
Registriert: Sonntag 3. September 2006, 15:11
Wohnort: in den weiten von NRW
Kontaktdaten:

Ums nochmal diplomatisch zusammenzufassen: Jedes Toolkit hat seine Fangemeinde, die unterschiedlich groß ist und die (meistens) die anderen Toolkits "hasst", "grässlich findet", oder sonst was.
Am Ende ist es wohl Geschmackssache, da mit allen "größeren" Toolkits schon einiges machbar ist, da sie sich nicht so sehr im Grundprinzip unterscheiden (es gibt halt immer Buttons, Labels, ..., nur das die vlt. anders heißen und das ganze etwas anders strukturiert ist)
Ein Punkt, den du beachten solltes, wenn du alle gleich toll/schön findest, ist, wie gut die Doku zu dem Toolkit ist. Das verbessert sich zwar, aber manche sachen sind echt schlecht oder nur sehr grob dokumentiert.
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

BlackVivi hat geschrieben:GTK unter Windows sehr aufgebläht (bitte nicht töten .__.). wxPython ist mein Liebling, sehr "pythonisch" und schön.
Darf man fragen wie du zum Schluss kommst das GTK aufgeblähter als wx ist?

Ansonsten oute ich mich mal als (py)gtk Anhänger. Aber ich denke was dir gefällt muss du selber herausfinden. Schau dir einfach die ganzen Toolkits mal an.
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
pyStyler
User
Beiträge: 311
Registriert: Montag 12. Juni 2006, 14:24

Hallo,

nimm doch Tkinter :D
sehr einfach zu Programmieren, sieht unter Win sehr gut aus,
mit http://sourceforge.net/project/showfile ... p_id=24918 bekommst du zugleich den besten Gui-Designer, den es für Python gibt :!:


Ausserdem sind hier einge Tkinter Spezialisten unterwegs.

Gruss
pyStyler
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

veers hat geschrieben:
BlackVivi hat geschrieben:GTK unter Windows sehr aufgebläht (bitte nicht töten .__.). wxPython ist mein Liebling, sehr "pythonisch" und schön.
Darf man fragen wie du zum Schluss kommst das GTK aufgeblähter als wx ist?
Ich kenn mich mit GTK recht wenig aus, dass geb ich zu. Aber als ich mich halt mit GUI Kits beschäftigt habe, war die Installation davon irgendwie umständlich für mich und GTK zu installieren für jemand anderen... Unter Linux is GTK schon sehr schön, würd' ich vielleicht sogar vor wx nehmen, aber unter Windows...? Weiß nich. Einfach unangenehm _für mich_. Ich sag' nich' dass es allgemein so ist, deswegen sollte man mich auch nicht töten ;_;!!!

Außerdem siehts unter Windows nich soo... nativ aus.
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Das mit dem Aussehen ist wahr. Aber das ist mit wx ja ähnlich. Irgend wie hatte ich bei wx das Gefühl das es einfach nirgends zuhause ist. Zur GTK-Installation, hast du mal Lanshark unter Windows getestet? Da hat sich zumindest noch keiner beschwert. Nach meinen Erfahrungen mit Ruby und GTK unter Windows hätte ich auch nicht gedacht dass es mit pyGTK und py2exe so gut funktioniert.
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

Naja, WX sieht ja 100% nativ aus... zumindest unter Windows. Hab Lanshark ausprobiert und fand die Oberfläche sehr schön. (Wie das Programm allgemein auch.)

Aber bei GTK fühl ich mich unter Windows so fremd.... Unter Linux is's ja irgendwie... normal... Hmpf, schwer zu beschreiben. Da herrscht wohl in meinem Kopf anarchie oder sowas. Deswegen sag ich ja... für mich.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

meneliel hat geschrieben:Ich weiß nicht mehr, wer von Euch es war, aber irgendwo, bilde ich mir ein gelesen zu haben, dass wer meinte, besser kein TKinter zu nehmen, sonder ein anderes Modul?
War wohl ich.

Ich habe auch PyGTK genutzt, als ich noch GUIs geschrieben habe (lange nicht mehr gemacht) und es ist schon nett. Wenn ich KDE lieber mögen würde, würde ich warscheinlich PyQt nehmen. Und wenn das Programm hauptsächlich auf Windows läuft, dann warscheinlich wxPython. Aber mir ist in der Regel Windows viel zu egal, um mir darüber Sorgen zu machen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
lunar

pyStyler hat geschrieben:nimm doch Tkinter :D
sehr einfach zu Programmieren, sieht unter Win sehr gut aus,
Dazu mal der Vergleich der Anzeige Einstellungen von Windows und des IDLE Konfigurationsdialog.

Bild

Tkinter sieht unterstützt den XP Stil nicht. Auch ohne XP Stil sieht man Unterschiede zu nativen Widgets. So ist der Text der Buttons im Konfigurationsdialog bei aktiviertem ClearType nicht antialiased. Auch sehen die Tabs anders aus.

Und so sieht IDLE auf meinem Gentoo-System aus:
Bild

Zwei Gründe, warum Tkinter für mich durchfällt. Ich würde ein Toolkit nehmen, dass unter Windows nativ aussieht, und sich unter Linux möglichst problemlos in die großen Desktop-Umgebungen und ihre Toolkits einpasst. Es bleiben für mich also Qt4, Gtk, und wxWidgets (welches unter Linux auf Gtk aufsetzt).

Mag sein, dass der User den Look von Tkinter unter beiden Systemen anpassen kann: Allerdings ist das eine zusätzliche Hürde für den Nutzer. Warum sollte er ein Programm nehmen, welches erst konfiguriert werden muss, um gut auszusehen, wenn es was Hübsches auch ohne Konfigurationsaufwand gibt?
mit http://sourceforge.net/project/showfile ... p_id=24918 bekommst du zugleich den besten Gui-Designer, den es für Python gibt
Und wie viele GUI Designer verschiedener Toolkits hast du durchprobiert, dass du dir diesen Vergleich erlaubst?
pyStyler
User
Beiträge: 311
Registriert: Montag 12. Juni 2006, 14:24

bei mir sieht es ganz anders als bei dir aus.
Bild
lunar hat geschrieben: mit http://sourceforge.net/project/showfile ... p_id=24918 bekommst du zugleich den besten Gui-Designer, den es für Python gibt [/
quote]
Und wie viele GUI Designer verschiedener Toolkits hast du durchprobiert, dass du dir diesen Vergleich erlaubst?
Ja, ich erlaube mir diesen vergleich. Zeig doch mal ein gegenbeispiel!
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

pyStyler hat geschrieben:
lunar hat geschrieben: mit http://sourceforge.net/project/showfile ... p_id=24918 bekommst du zugleich den besten Gui-Designer, den es für Python gibt [/
quote]
Und wie viele GUI Designer verschiedener Toolkits hast du durchprobiert, dass du dir diesen Vergleich erlaubst?
Ja, ich erlaube mir diesen vergleich. Gib doch mal ein gegenbeispiel!
Glade 3!
Der qtdesigner lässt sich wohl auch für Python Anwendungen Verwenden.

Und um mal noch was zu tk gesagt zu haben:
Wie pervers ist es mit Python auf TK zuzugreifen um ein ...primitives... GUI Toolkit benutzen zu können?
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
lunar

pyStyler hat geschrieben:bei mir sieht es ganz anders als bei dir aus.
Eigentlich nicht... Auch bei dir zeigt der Screenshot nicht den XP Stil. Auch bei ist das Aussehen der Tabs nicht nativ.

Tatsache ist: Tkinter unterstützt XP nicht, und Vista schon gar nicht. Und es passt sich nicht in den Look der großen DEs unter Linux ein.
lunar hat geschrieben: mit http://sourceforge.net/project/showfile ... p_id=24918 bekommst du zugleich den besten Gui-Designer, den es für Python gibt [/
quote]
Und wie viele GUI Designer verschiedener Toolkits hast du durchprobiert, dass du dir diesen Vergleich erlaubst?
Ja, ich erlaube mir diesen vergleich. Gib doch mal ein gegenbeispiel!
Gut, dann sage ich jetzt: "Qt4 Designer!" Toll was? Jetzt haben wir nämlich ein wunderbares Patt, weil ich deinen GUI Designer nicht kenne, und du vielleicht meinen nicht kennst, und die ganze Sache sowieso absolut subjektiv ist. Darum kann ich derartige Aussagen nicht ausstehen.

Aus diesem Grund halte ich mich jetzt auch zurück, es wäre ja auch nicht das erste Mal, dass wir dieses Thema hier abgehandeln. Wiederholungen gefallen nicht... :roll:
pyStyler
User
Beiträge: 311
Registriert: Montag 12. Juni 2006, 14:24

ok gut, Theme ist für mich gegenüber dir wenn es um Guis geht beendet.
Ich habe damit nicht angefangen :!: Du weisst was ich meine....
meneliel
User
Beiträge: 256
Registriert: Montag 25. Juni 2007, 08:35
Kontaktdaten:

lunar hat geschrieben: Tatsache ist: Tkinter unterstützt XP nicht, und Vista schon gar nicht. Und es passt sich nicht in den Look der großen DEs unter Linux ein.
<grusel> VISTA</grusel>... das hab ich nach 5 min von meinem Notebook (da war es vorinstalliert) wieder runtergehauen, das ging ja gar nicht.


Danke für eure Anregungen. Dann werde ich mir wohl nun mal Gtk, und wxPython genauer ansehen und dann gucken, ob eins davon, oder doch Tkinter.
Antworten