grafische oberfläche ohne pyGTK, pyQT, Tkinker etc

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
Costi
User
Beiträge: 545
Registriert: Donnerstag 17. August 2006, 14:21

ich muss für windoof ein programm schreiben (und dan mit py2exe "compilieren"), das eine grafische oberfläche beinhaltet.

gibt es keine möglichkeit das mit dem browser per cgi zu machen?
also wie öffne ich über python einen ca 350 x 100 px grosses browser fenster ohne das das zurück botton, adresenleiste usw angezeigt wird?

danke
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Meinst Du die Frage ernst? Du willst ein GUI, aber lieber in form eines cgi-Skriptes, das widerrum ein Executable sein soll und einen Browser füttert, der, wahrscheinlich auch ohne web-server im Hintergrund, aber gar nicht als Browser arbeiten soll? Habe ich das richtig verstanden?

Falls ja, solltest Du vielleicht Deine Frage überdenken und dann nochmal posten. Falls nein, entschuldige bitte meine Ignoranz.

Gruß,
Christian
EnTeQuAk
User
Beiträge: 986
Registriert: Freitag 21. Juli 2006, 15:03
Wohnort: Berlin
Kontaktdaten:

hi hi gut gesagt ;)

Aber mal eine ganz andere Frage...
also wie öffne ich über python einen ca 350 x 100 px grosses browser fenster ohne das das zurück botton, adresenleiste usw angezeigt wird?
Ich weiß zwar nicht, wie.... Aber wozu brauchst du das?


MfG EnTeQuAk
Costi
User
Beiträge: 545
Registriert: Donnerstag 17. August 2006, 14:21

zitat CM:
Meinst Du die Frage ernst? Du willst ein GUI, aber lieber in form eines cgi-Skriptes, das widerrum ein Executable sein soll und einen Browser füttert, der, wahrscheinlich auch ohne web-server im Hintergrund, aber gar nicht als Browser arbeiten soll?

genau so. das konfifurationsprogramm meines routers ist ebenfalls so aufgebaut.
ich hab jetzt ein bischen ausprobiert und festgestellt, dass das erste argument der IEXPLORER.EXE (also internet explorer) die zu öfnende seite ist.
allerdings kann dazu die verbindung zum server (also in diesen fall localhost) anscheinend nur über port 80 hergestellt, werden und ich glaub man braucht admin rechte um bei ports die niedriger als 1024 sind zu listen. vieleicht gibts also hoifentlich ne alternative

jetzt muss ich nur wissen (bin mir ziemlich sicher das das mit javascript geht) wie ich einen popup starte und dabei den haubtbrowserfenster schliesse
BlackJack

Also eigentlich sollte man Dich bei diesem Lösungsansatz nicht auch noch ermutigen, ich finde den auch furchtbar, aber die Portnummer kannst Du als Teil der URL angeben. Also `http://localhost:12345/bla.html` verbindet sich mit einem Server der auf Port 12345 lauscht.

Bei Deinem Router wird das CGI-Programm wohl eher auf dem Router selbst laufen.

Und wenn Du schon eine lokale Browser/Webserver Lösung schreibst, dann solltest Du davon Abstand nehmen die totale Kontrolle über die GUI (Grösse etc.) haben zu wollen und Dich auch nicht auf den IE festlegen, sondern mit dem `webbrowser` Modul arbeiten, welches unter Win den vom Benutzer bevorzugten Browser startet.
Costi
User
Beiträge: 545
Registriert: Donnerstag 17. August 2006, 14:21

ich weis, IE zählt aber in diesen fall das ":" zur url

ja! gib mir meht info über diesen "webbrowsermodul", IE nervt nähmlich auch noch mit "popup wurde geblockt" und "wollen sie diese fenster wirklich schliesen?"
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

Was genau spricht denn gegen wxPython etc.?
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Hoffe sehr, daß das jetzt nicht besserwisserisch rüberkommt ...

Costi, egal, ob es machbar ist oder nicht: Deine Idee ist nicht so dolle. (Schau' Dir mal meine ersten Posts hier im Forum an - am meisten habe ich gelernt, wenn mir bedeutet wurde mein Konzept grungsätzlich zu überdenken.) Die GUI Toolkits gibt es, um Dir das Leben einfacher zu machen ...

Schreibe hier doch einfach mal, worauf Du hinaus willst - Du bekommst bestimmt eine bessere Empfehlung fürs Design.

Gruß,
Christian
Monk
User
Beiträge: 16
Registriert: Montag 28. August 2006, 11:27

Hallo Costi

nimm dafür am besten eine HTA-Datei (wenn es wirklich nur Windows sein soll). Dabei handelt es sich im Prinzip um genau das, was Du suchst: Ein IE ohne Navigations- und Menüleisten. Näheres dazu findest Du in der Online-MSDN-Library unter http://msdn.microsoft.com/workshop/auth ... erview.asp

Die Ausgabe Deines CGI kannst Du mit einem IFRAME einbinden:

Code: Alles auswählen

<IFRAME SRC="http://127.0.0.1:55555/foobar" APPLICATION="yes">
Zum Thema Sinnhaftigkeit:
Deine Idee ist gar nicht so schlecht, wenn Du sie richtig durchdenkst und sinnvoll implementierst.
Wenn Du nur deshalb CGIs nimmst, weil Du HTML kannst und sonst mit keinem GUI-Toolkit vertraut bist, dann sei gewarnt, dass Du auf lange Sicht mehr Pflegeaufwand mit Deinen CGIs hast, und sich die Einarbeitung in ein beliebiges Toolkit schnell bezahlt macht.
Wenn Du allerdings ein Webframework wie Django nimmst, weil Dir das automatisch generierte Admin-Interface reicht (TurboGears hat bestimmt auch etwas analoges dazu), dann ist das die vielleicht schnellste Methode, ein sich professionell anfühlendes GUI für Deine Anwendung zu erstellen.

Gruß, der Monk
Costi
User
Beiträge: 545
Registriert: Donnerstag 17. August 2006, 14:21

Bingo! HTA ist die lösung, wie geschafen für mein prob, thx Monk



ich hab schon alles ziemlich gut durchdacht und glaub, dass diese lösung wirklich die beste und einfachste ist.
Ich will einen zu msn kompatiblen (dank msnlib.py) messenger, machen der auch sein eigenes protokoll hat.

wenn ich fertig bin (bei so vielen hausaufgaben wahrscheinlich erst in 3 wochen) poste ich euch dan den queltext



youguhrt schrieb:
Was genau spricht denn gegen wxPython etc.?

das man es zuerst lernen muss^^
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Costi hat geschrieben:das man es zuerst lernen muss^^
Lohnt sich aber und geht schneller. Gut programmierte Webanwendungen sind sehr schwer zu koordinieren weil du auf Browserschwächen Rücksicht nehmen musst (tust du sowieso nicht, weil dein Programm nur mit dem Internet Explorer 5.5 oder 6.0 funktionieren wird), du auf korrektes Escaping Acht geben musst, hoffentlich das MVC Pattern verwendest etc...

Da lohnen sich die 5 Minuten Tutorial lesen :roll:
TUFKAB – the user formerly known as blackbird
Costi
User
Beiträge: 545
Registriert: Donnerstag 17. August 2006, 14:21

hmm... wenn ihr ALLE mir sagt, ich solls nicht machen dan werde ich schon nachdenlich...

kann ich den ein programm mit ner grafischen oberfläche mit py2exe compilieren??
Nirven
User
Beiträge: 130
Registriert: Mittwoch 10. Mai 2006, 08:18
Wohnort: Bremerhaven

Ja, sogar erstaunlich problemlos. Im Gegensatz zu anderen Modulen hat wxPython mir noch nie wirklich Probleme gemacht (wenn ich die setup.py erstmal so hatte, wie py2exe sie haben wollte...).
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Costi hat geschrieben:kann ich den ein programm mit ner grafischen oberfläche mit py2exe compilieren??
Ja, wxPython-Programme mit py2exe zu kompilieren ist wesentlich einfacher als wenn man irgendein anderes Toolkit nehmen würde.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten