Python GUI Manager 1.0

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
Tomate_Salat
User
Beiträge: 18
Registriert: Mittwoch 19. November 2008, 00:14

Python GUI Manager 1.0

Beitragvon Tomate_Salat » Freitag 13. Februar 2009, 19:58

Wer kennt das nicht: Shell befehl vergessen und ewig nachschaun wie ich jetzt aus einer .ui-Datei eine .py-Datei mache?

Natürlich: Internet -> shell befehl suchen -> die pfade eingeben...

Ich finde / fand das recht umständlich. Da ich mich mit Java besser auskenne als mit Python(bin noch anfänger) habe ich ein Java-Projekt, dass diese Aufgabe für euch erledigt.

Das Programm funktioniert ganz einfach:

- Ihr stellt unter Bearbeiten->Einstellungen: Allgemein den Pfad zu euren Python-Dateien ein [oder dahin wo die .UI Datei liegt]
- Ihr Speichert
- Wählt links im Dateibaum die .ui-Datei aus
- Klickt auf den Button: UI=>PY und das Programm erstellt eine *.py-Datei in demselben Ordner [diese heist so wie die .ui-Datei nur die Endung ist anderster]


Geplante Verbesserungen:
- Wenn Config-Datei nicht vorhanden oder Fehlerhaft ist soll das Programm sie erneuern/anlegen
- Eine QUICK-FUNKTION: UI-DATEI auswählen und das Programm erstellt die .py
- das Programm legt Report-dateien an
- das Anlegen der Report-dateien soll an-/ausschaltbar sein
- das Programm soll eine Datei anlegen, die die GUI einbindet[eventuell in Kostenpflichtige Version?]
- Überprüfung ob die neu erstellte py-datei eine andere überschreibt
- den Namen der neuen .py-Datei selber wählen

Also bedenkt bitte: Das Programm ist noch v1.0 also, wenn Ihr Bugs findet, ich würde mich freuen, wenn Ihr diese senden könnt. Eventuell richte ich eine Ticket-Seite ein, wo Ihr mir einfacher Bugs reporten könnt.

Danke schonmal im Vorraus, ich hoffe mein Programm kann einigen von euch helfen ;)

DownloadLink: [Wird dieser Community nicht mehr zur Verfügung gestellt.]

Technische Daten:
benötigt Java 1.6.0

Bugs:
- Derzeit leider nur Windows only

EDIT:
Aufgrund der OT-förderung durch Admins und belanglosen Posts, stelle ich mein Programm hier nicht weiter zur Verfügung.

P.S.: Spart euch die Posts: braucht eh keiner.
Zuletzt geändert von Tomate_Salat am Samstag 14. Februar 2009, 14:53, insgesamt 2-mal geändert.
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Re: Python GUI Manager 1.0

Beitragvon Leonidas » Freitag 13. Februar 2009, 20:24

Tomate_Salat hat geschrieben:Wer kennt das nicht: Shell befehl vergessen und ewig nachschaun wie ich jetzt aus einer .ui-Datei eine .py-Datei mache?

Wozu? Autogenerierter Code stinkt und wenn man die UI-Datei direkt einbindet vergisst man nicht, ggf. die UI neu zu erstellen.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Tomate_Salat
User
Beiträge: 18
Registriert: Mittwoch 19. November 2008, 00:14

Re: Python GUI Manager 1.0

Beitragvon Tomate_Salat » Freitag 13. Februar 2009, 20:29

Leonidas hat geschrieben:Autogenerierter Code stinkt und wenn man die UI-Datei direkt einbindet vergisst man nicht, ggf. die UI neu zu erstellen.


Entweder du meinst damit:
a) Den Shell Befehl:
Wie gesagt, der Benutzer soll später den Namen der erstellten py-Datei selber wählen können.

b) Auf das einbinden der shell-generierten-py-Datei in eine vom Programm generierte py-Datei
Klar, wenn der vom Programm generiert wurde ist das was anderes als es selber zu schreiben, allerdings kann man diesen Code notfalls umschreiben / ihn einfach akzeptieren. Muss ich ja auch wenn ich den GUI-Editor von Eclipse benutze
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Re: Python GUI Manager 1.0

Beitragvon Leonidas » Freitag 13. Februar 2009, 20:32

Tomate_Salat hat geschrieben:Klar, wenn der vom Programm generiert wurde ist das was anderes als es selber zu schreiben

Jedes GUI-Toolkit das etwas auf sich hält kann die UI-Beschreibungen (sei es GLADE in GTK+, XRC in wxWidgets oder UI in Qt) direkt einlesen. Wozu also den Code selbst schreiben oder den Code generieren lassen wenn man den Code doch einfach weglassen kann?
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Tomate_Salat
User
Beiträge: 18
Registriert: Mittwoch 19. November 2008, 00:14

Beitragvon Tomate_Salat » Freitag 13. Februar 2009, 20:49

ähm die UI-Datei wird (bei mir) von PyQt-Designer erstellt und die sieht im wesentl. aus wie eine xml. Wenn ich die in Python benutzen will, habe ICH gelernt, dass man daraus ne py-datei machen muss und nichts anderes macht das Programm derzeit. Und das mittels pyuic4. Das Programm erspart nur den Shell befehl. Mehr macht das Programm noch nicht! Und ich meine mich noch zu erinnern, dass man die py-Datei meist als modul benutzt und in einer anderen py-Datei importiert und das was ich als zusatztool schreiben will, soll einfach diesen import schreiben, das ist aber erst mal zukunftsvision, das kommt ganz zum schluss und ich denke wir diskutieren hier gerade über etwas was noch garnicht vorhanden ist...nicht mal annähernd
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Freitag 13. Februar 2009, 21:27

Tomate_Salat hat geschrieben:ähm die UI-Datei wird (bei mir) von PyQt-Designer erstellt und die sieht im wesentl. aus wie eine xml. Wenn ich die in Python benutzen will, habe ICH gelernt, dass man daraus ne py-datei machen muss

Eben das muss man nicht und das sollte man in aller Regel auch nicht machen. Erstens kann man in Qt über QUiLoader machen und wie die PyQt-Dokumentation beschreibt geht das in PyQt über das uic-Modul.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
BlackJack

Beitragvon BlackJack » Freitag 13. Februar 2009, 22:16

@Tomate_Salat: Ich habe 'nen Bug gefunden: Das Teil ist Windows-only. :-)

Und warum zeigst Du nicht den Quelltext? Ist es Dir peinlich, dass es im Grunde ein ganzer Haufen Singletons ist und das Programm so überhaupt nicht OOP ist? Und GUI und Geschäftslogik sind auch fröhlich zusammengeworfen.
lunar

Beitragvon lunar » Freitag 13. Februar 2009, 22:24

Leonidas hat geschrieben:
Tomate_Salat hat geschrieben:ähm die UI-Datei wird (bei mir) von PyQt-Designer erstellt und die sieht im wesentl. aus wie eine xml. Wenn ich die in Python benutzen will, habe ICH gelernt, dass man daraus ne py-datei machen muss

Eben das muss man nicht und das sollte man in aller Regel auch nicht machen. Erstens kann man in Qt über QUiLoader machen und wie die PyQt-Dokumentation beschreibt geht das in PyQt über das uic-Modul.

QUiLoader wird bei C++/Qt-Programmen so gut wie nie benutzt. In einer statisch typisierten Sprache wie C++ ist de facto aufwendiger und unangenehmer als das Generieren der C++-Dateien, das ja vom Build-System (qmake oder cmake) übernommen wird.

Im Bezug auf Python dagegen ist uic natürlich der richtige Weg, am besten uic.loadUi.
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Freitag 13. Februar 2009, 23:25

lunar hat geschrieben:QUiLoader wird bei C++/Qt-Programmen so gut wie nie benutzt. In einer statisch typisierten Sprache wie C++ ist de facto aufwendiger und unangenehmer

Inwiefern? Das sieht mir recht straight-forward aus und wenn man in Windows PE-Dateien reinschaut sieht man auch, dass dort Ressource-Dateien eingebettet sind statt dass Code generiert wurde. Selbiges gilt für PyGTK, dass auch nur auf Funktionen der libglade zugreift, die eigentlich für GTK+, also für C-Programme gedacht ist.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
lunar

Beitragvon lunar » Freitag 13. Februar 2009, 23:39

Man muss die UI-Dateien als Ressourcen verwalten, man muss mit C++-Casts, man muss sicherstellen, dass die Widgets zur Laufzeit verfügbar sind, anstatt die Überprüfung zur Übersetzungszeit durchzuführen.

Im Endeffekt ist das verhältnismäßig viel Aufwand im Vergleich zum Erzeugen von Code aus den UI-Dateien, was das Buildsystem automatisch durchführt. Zudem gewinnt man ja auch nichts dadurch, denn den Buildvorgang muss man ja eh durchführen.
BlackJack

Beitragvon BlackJack » Freitag 13. Februar 2009, 23:55

@lunar: Man würde etwas Flexibilität gewinnen, indem man verschiedene GUI-Layouts anbieten kann, oder Verbesserungen vornehmen kann, ohne das Programm neu kompilieren zu müssen.
lunar

Beitragvon lunar » Samstag 14. Februar 2009, 06:27

BlackJack hat geschrieben:@lunar: Man würde etwas Flexibilität gewinnen, indem man verschiedene GUI-Layouts anbieten kann, oder Verbesserungen vornehmen kann, ohne das Programm neu kompilieren zu müssen.

Wenn man die UI-Dateien in Ressourcen einbetten, muss man trotzdem neu kompilieren. Ansonsten stellt sich die Frage, ob man diese Flexibilität wirklich benötigt ... meist entwickelt man ja vor sich hin und testet da schon die verschiedenen Layouts, bevor man das Ganze ausliefert.

Aber das musst du mir nicht erzählen, ich bin auch kein Fan von generiertem Code, ich sage nur, wie es bei den meisten C++/Qt-Programmen eben aussieht.
Tomate_Salat
User
Beiträge: 18
Registriert: Mittwoch 19. November 2008, 00:14

Beitragvon Tomate_Salat » Samstag 14. Februar 2009, 14:49

BlackJack hat geschrieben:Und warum zeigst Du nicht den Quelltext? Ist es Dir peinlich, dass es im Grunde ein ganzer Haufen Singletons ist und das Programm so überhaupt nicht OOP ist? Und GUI und Geschäftslogik sind auch fröhlich zusammengeworfen.


Ich finde es toll wie hier einfach belanglose Dinge diskutiert werden. Ok mitlerweile weis ich, dass man die UI-Dateien so benutzen kann. Manch einer mag aber vllt die py-Datei-Methode vorziehen und dafür kann man das Programm benutzen. Über generierten code kann man sich auch Streiten. Eigentl. sollte das hier eine Diskussion zur verbesserung des Programms werden, dennoch werden hier belanglose Dinge angeprangert! Z.B DINGE DIE NOCH GARNICHT EXISTIEREN. Bei C++ hab ich aufgehört zu lesen, da das noch weniger mit dem Thema zu tun hat!

@BlackJack: Wenn dus wissen willst: Ich habe einen einwöchigen Intensiven Crashkurs in Java hinter mir, dass mein Programmierstil nicht der beste ist, ist logisch. Dass du aber denkst mir wäre das was ich geschrieben habe Peinlich nur weil ich den Source-code nicht zeige ist lächerlich! Es liegt einfach daran, dass mir das nicht wichtig war UND ich deswegen diese Einstellung in Eclipse nicht gesucht habe / nicht suche!!!

@Leonidas: Von einem Administrator hätte ich diese OT's noch am allerwenigsten erwartet! Ob das umwandeln von UI's in PY's sinnvoll ist oder nicht, stand hier absolut nicht zur Diskusion! Find ich toll wie hier die OT's von Administratoren noch gefördert werden.

So da das hier offensichtlich ins lächerliche gezogen wird und ich keine Lust habe mir Posts durchzulesen die absolut NICHTS mit dem Topic zu tun habe, bin ich hier wieder weg!

Gratulation Leonidas, als Administrator hast du (zumindest mal in dem topic) auf ganzer Linie versagt!
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Samstag 14. Februar 2009, 15:00

Tomate_Salat hat geschrieben:Ich finde es toll wie hier einfach belanglose Dinge diskutiert werden.

Wo belanglos? Das hat alles mit Qt's UI-Dateien zu tun gehabt?

Tomate_Salat hat geschrieben:Ok mitlerweile weis ich, dass man die UI-Dateien so benutzen kann. Manch einer mag aber vllt die py-Datei-Methode vorziehen und dafür kann man das Programm benutzen. Über generierten code kann man sich auch Streiten.

Streiten wir uns doch. Da bin ich mal gespannt was bei rauskommt.

Tomate_Salat hat geschrieben:Eigentl. sollte das hier eine Diskussion zur verbesserung des Programms werden, dennoch werden hier belanglose Dinge angeprangert!

Nicht belanglos. Ich habe nur gesagt dass das Programm keinen sonderlichen Nutzen hat, da man nichts generieren muss also auch keine Befehle vergessen hat. Was will man dann verbessern?

Tomate_Salat hat geschrieben:@Leonidas: Von einem Administrator hätte ich diese OT's noch am allerwenigsten erwartet! Ob das umwandeln von UI's in PY's sinnvoll ist oder nicht, stand hier absolut nicht zur Diskusion! Find ich toll wie hier die OT's von Administratoren noch gefördert werden.

Das sagt jemand der ein Java-Programm geschrieben hat, es in einem Python-Forum postet, keinen Quelltext anbietet und ein nicht-existierendes Problem löst. Ich bin begeistert wie Ontopic du bist.

Tomate_Salat hat geschrieben:Gratulation Leonidas, als Administrator hast du (zumindest mal in dem topic) auf ganzer Linie versagt!

Gratulation, als Diskussionspartner hast du sogar noch mehr versagt. Das Weglaufen aus einer Diskussion die vom ersten Post an Offtopic war und das beschimpfen von Leuten die mehr Ontopic sind als du (schließlich sind die Links die ich gepostet habe zu PyQt) hat schon Niveau.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Tomate_Salat
User
Beiträge: 18
Registriert: Mittwoch 19. November 2008, 00:14

Beitragvon Tomate_Salat » Samstag 14. Februar 2009, 15:14

Wo belanglos? Das hat alles mit Qt's UI-Dateien zu tun gehabt?

Es hat NICHTS mit dem Programm zu tun gehabt! Du beschreibst Programmiermethoden!

Tomate_Salat hat geschrieben:Ok mitlerweile weis ich, dass man die UI-Dateien so benutzen kann. Manch einer mag aber vllt die py-Datei-Methode vorziehen und dafür kann man das Programm benutzen. Über generierten code kann man sich auch Streiten.

Streiten wir uns doch. Da bin ich mal gespannt was bei rauskommt.

Wie alt bist du?5? Wenn man nicht kapiert was Streiten in dem Kontext bedeutet, sollte man auch keinen Kommentar dazu abgeben, das wirkt lächerlich, vor allem weil ich in meinem ersten Post beschrieben habe, das ich nicht besonders erfahren mit Python bin!

Nicht belanglos. Ich habe nur gesagt dass das Programm keinen sonderlichen Nutzen hat, da man nichts generieren muss also auch keine Befehle vergessen hat. Was will man dann verbessern?

Wenn man mittel pyuic4 oder wie das heist benutzt HAT ES EINEN! Und dann kann man es auch anderster machen. Man muss daraus keine Diskusion starten! Zudem dient das Programm als Projekt meine Techniken auch in Java zu verbessern und war primär dafür gedacht mir den Einstieg in Python zu erleichtern.

Das sagt jemand der ein Java-Programm geschrieben hat, es in einem Python-Forum postet, keinen Quelltext anbietet und ein nicht-existierendes Problem löst. Ich bin begeistert wie Ontopic du bist.

1. Benutzt Ihr nur Editoren die in Python geschrieben sind?
2. Quelltext-Problem habe ich beschrieben, lern lesen!
3. Nur weil du es nicht so machst, heist es nicht das es andere nicht so machen, kapier das mal!
4. Hier zweifel ich wieder deine Berächtigung als Administrator an! Als Thema-Steller kann ich in meinem ersten Post nicht OT sein. Demnach glaube ich wieder das du 5 bist

Gratulation, als Diskussionspartner hast du sogar noch mehr versagt. Das Weglaufen aus einer Diskussion die vom ersten Post an Offtopic war und das beschimpfen von Leuten die mehr Ontopic sind als du (schließlich sind die Links die ich gepostet habe zu PyQt) hat schon Niveau.

Bestätigt wieder, wie ich über dich denke. Jeder Admin der eine Diskusion diskusion schliest, weil sie vom Thema abweicht ist ein schlechter Diskussionspartener? Ich laufe nicht weg, weil ich nie dabei war, Ihr redet über Dinge die mich in diesem Sinne überhaupt nicht interessieren!

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder