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

Dienstag 18. September 2007, 08:14

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: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Dienstag 18. September 2007, 08:36

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
:-)
[url]http://halvar.at[/url] | [url=http://halvar.at/elektronik/kleiner_bascom_avr_kurs/]Kleiner Bascom AVR Kurs[/url]
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
lunar

Dienstag 18. September 2007, 09:06

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: 567
Registriert: Samstag 8. April 2006, 12:31
Wohnort: Bremen
Kontaktdaten:

Dienstag 18. September 2007, 09:13

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:

Dienstag 18. September 2007, 17:23

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:

Dienstag 18. September 2007, 18:12

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:

Dienstag 18. September 2007, 18:15

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:

Dienstag 18. September 2007, 18:41

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:

Dienstag 18. September 2007, 19:18

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

Dienstag 18. September 2007, 19:25

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:

Dienstag 18. September 2007, 19:39

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:

Dienstag 18. September 2007, 19:47

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:

Dienstag 18. September 2007, 19:49

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
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Dienstag 18. September 2007, 20:05

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 Modvoice
lunar

Dienstag 18. September 2007, 21:23

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?
Antworten