Welche Gui soll ich verwenden?

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

Beitragvon lunar » Mittwoch 25. Juli 2007, 15:07

pyStyler hat geschrieben:
Miko hat geschrieben:......oder tkinter aber das ist ja so hässlich....

Hässlich unter Windows? Wie soll deine Anwendung denn Aussehen?


Nein, unter Linux. Diese Diskussion hatten wir hier schon mal, und ich erlaube mir mal, den Screenshot, den ich dort gepostet hatte, hier ebenfalls einzustellen:

Bild

Das ist Tk unter Linux... wem's gefällt...


@gerold:
Ich habe es noch nie versucht, da ich nicht unter Windows programmiere. Allerdings ist PyQt4 selbst portabel. Immerhin laufen viele Alpha-Versionen von KDE4 Programmen (z.B. Amarok) nahezu einwandfrei unter Windows.

Allerdings ist jetzt mein Ehrgeiz geweckt: Ich werd mich mal an einem PyQt4 Hello World unter Windows versuchen.
Zuletzt geändert von lunar am Mittwoch 25. Juli 2007, 15:18, insgesamt 1-mal geändert.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Beitragvon gerold » Mittwoch 25. Juli 2007, 15:09

lunar hat geschrieben:Zwei Doppelklicks auf "setup.exe" sind doch wohl nicht schwer, oder?

Hallo lunar!

Ich glaube, das ist doch nicht so einfach. Aber Gott behüte (wenn ich daran glauben würde) -- ich werde es jetzt sicher nicht ausprobieren. :roll:

lg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Beitragvon birkenfeld » Mittwoch 25. Juli 2007, 15:11

Miko hat geschrieben:funktioniert die wxpython demo unter linux?

Ja, einwandfrei. Genauso wie die Doku. Beides wurde bei mir (Gentoo) im Paket wxpython-docs installiert.

Weiß jemand wie man gtk unter windows zum laufen bekommt?

Ich kann mich nur wiederholen: Das development-Paket von gladewin32 und dann pygtk, pygobject und pycairo sollte genügen.

ich glaube ich entscheide mich für wx. Irgendwie scheint das der beste kompromiss zwischen plattformunabhängigkeit und funktionsvielfalt zu sein. Nur die umständlichkeit stört mich etwas.

Willkommen in der GUI-Welt. So richtig "straightforward" ist kein Toolkit.
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
pyStyler
User
Beiträge: 311
Registriert: Montag 12. Juni 2006, 14:24

Beitragvon pyStyler » Mittwoch 25. Juli 2007, 15:25

lunar hat geschrieben:
pyStyler hat geschrieben:
Miko hat geschrieben:......oder tkinter aber das ist ja so hässlich....

Hässlich unter Windows? Wie soll deine Anwendung denn Aussehen?
....Nein, unter Linux.

Das ist Tk unter Linux... wem's gefällt...

irgendwie habe ich wohl das lesen verlernt!
Der Miko schrieb doch, dass er gerne weiter unter Windows Programmieren will.
lunar

Beitragvon lunar » Mittwoch 25. Juli 2007, 15:32

pyStyler hat geschrieben:
Das ist Tk unter Linux... wem's gefällt...

irgendwie habe ich wohl das lesen verlernt!
Der Miko schrieb doch, dass er gerne weiter unter Windows Programmieren will.


Auf windowskompatiblität könnte ich ja eigentlich verzichten. nur in der schule haben wir leider windows und da will ich auch häufiger dran weiterprogrammieren


Das hört sich irgendwie so an, als läge der Fokus doch deutlich auf Linux, und dann ist ein hässliches GUI Toolkit doch irgendwie suboptimal.

@gerold
Mmmh, mein Selbstversuch mit Qt4 wird sich noch etwas hinziehen: Der 58 MB große :shock: Download von Qt4 4.2.3 tröpfelt gerade mit flockigen 88 KB/s herein, mehr gibt meine Internetverbindung nicht her ;)
Miko

Beitragvon Miko » Mittwoch 25. Juli 2007, 15:37

Was mich mal interessieren würde:

- Wie kann ich docs per apt-get installiert anschauen? bzw. Wo finde ich diese?

--------

Danke für die zahlreiche hilfe. aber schaut euch mal tkinter an. schriftantialiasing kann es nicht und somit wirkt es mehr als pixelig.
die radiobuttons sind potthässlich.

Naja tkinter ist so straightforward. da hat das gut funktioniert ^^
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Beitragvon gerold » Mittwoch 25. Juli 2007, 15:54

Miko hat geschrieben:Wie kann ich docs per apt-get installiert anschauen? bzw. Wo finde ich diese?

Hallo Miko!

Sprichst du von wxPython? Wenn Ja:

Demo and Sample Apps

Since the RPMs no longer include the demo or samples, it is now packaged separately. Why did I do this? Well the demo is intended to be a learning tool, but when installed from the RPM all the demo files are owned by root. As a separate tarball you can put the files where ever you want and since they'll be owned by you when you untar them you can play and tweak to your heart's desire.

Download der Demo für wxPython 2.8.4: http://prdownloads.sourceforge.net/wxpy ... .0.tar.bz2

Dokumentation:
Es gibt zwar eine Auflistung der wxPython-API, aber die bringt einem nicht viel. http://wxpython.wxcommunity.com/docs/api/

Besser ist die wxWidgets-Dokumentation im Internet: http://wxwidgets.org/manuals/stable/wx_contents.html
Aus der kann man recht viel heraus lesen.

Und zum Beginnen gibt es nichts Besseres als "wxPython in Action". Wer sich das nicht leisten kann, dem lege ich mindestens die Links dieser Seite http://www.python-forum.de/topic-7916.html nahe. Auch wenn diese das Buch nie ersetzen können.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs

Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Miko

Beitragvon Miko » Mittwoch 25. Juli 2007, 16:01

Ich mein allgemein Dokumentationen die man per apt-get installiert. Das würd mich mal interessieren.

Ne kleine Zwischenfrage, ein Freund von mir hat mal eine getch Funktion für Python programmiert. Leider habe ich sie nicht mehr und er ist derzeit verreist. Hat jemand etwas ähnliches?

Wegen "wx Python in Action" bin ich noch etwas unschlüssig ob ich mir wirklich das Englisch antun soll.

Aber Gerold großes Lob an dich. Du bist einer der wenigen im Forum die nicht so schnell unhöflich werden. Häufig wird man hier von Admins und Pythonnerds von oben herab behandelt. Da traut man sich garnicht mehr fragen.
lunar

Beitragvon lunar » Mittwoch 25. Juli 2007, 16:38

So, jetzt folgt mein Installationsbericht für Qt4 unter Windows (besonders für gerold ;) ).

Ich habe mir PyQt4 für Python 2.5 und Qt 4.2.3 als Binärpaket heruntergeladen (für die Quellen hatte ich keine Geduld, da das Übersetzen von PyQt4 eine halbe Ewigkeit dauert). Dazu die passende Qt Version 4.2.3. Nach dem endlosen Download habe ich zuerst Qt4 installiert. Das dauerte etwas länger, da Qt4 unbedingt noch Mingw herunterladen wollte. Nachdem das vollbracht war, habe ich PyQt4 installiert.

Mein Beispielprogramm war ein einfacher Port des Hello World Programms aus der Trolltech Doku:

Code: Alles auswählen

# -*- coding: utf-8 -*-

import sys

from qt import QApplication, QPushButton


def main():
    app = QApplication(sys.argv)

    hello = QPushButton('Hello world!')
    hello.resize(100, 30)

    hello.show()
    return app.exec_loop()

if __name__ == '__main__':
    main()


Das war relativ naiv anhand meiner PyQt3 Kenntnisse portiert und schlug prompt fehl: No module named qt... ok, ich hätte vorher die (Py)Qt4 Dokumentation lesen sollen ;)

Anhand der Doku kam ich dann darauf qt durch PyQt4.QtGui zu ersetzen. Das schlug dann ebenfalls fehl, weil die nötigen DLLs nicht gefunden wurde. Die Lösung lag auch hier mehr oder minder auf der Hand: Das bin Verzeichnis der Qt Installation, welches neben den Utilities wie qmake oder moc auch die DLLs enthält, muss in den PATH eingetragen werden.

Nach der fälligen Neuanmeldung wurde die GUI zwar angezeigt, ich erhielt allerdings trotzdem einen AttributError: exec_loop war nicht bekannt. Die Ursache war ebenfalls die Anwendung meiner Qt3 Kenntnisse. In PyQt4 heißt die entsprechende Funktion exec_, wie aus der PyQt4 Klassenreferenz ersichtlich war.

Der folgende Code läuft einwandfrei unter Windows:

Code: Alles auswählen

# -*- coding: utf-8 -*-

import sys

from PyQt4.QtGui import QApplication, QPushButton


def main():
    app = QApplication(sys.argv)

    hello = QPushButton('Hello world!')
    hello.resize(100, 30)

    hello.show()
    return app.exec_()

if __name__ == '__main__':
    main()


Alles in allem war die ganze Sache doch recht schmerzlos. Es gab zwar einige kleinere Probleme, aber nichts, was sich nicht in einer anständigen INSTALL Datei erklären liese.

Beim Erforschen der PyQt4 Dokumentation sind mir übrigens noch einige Dinge im Vergleich zu PyQt3 positiv aufgefallen:
  • PyQt4 bietet jetzt eine eigenen Klassenreferenz, die zwar noch C++ Snippets enthält, was aber laut Aussage von Riverbank Computing in zukünftigen Versionen korrigiert werden soll.
  • Außerdem bietet PyQt4 das neue uic Modul, dass Qt4 Designer Dateien on-thy-fly laden kann (genau wie Glade). Dadurch entfällt die Ausführung von pyuic zur Übersetzung der GUI Dateien und der Qt Designer zieht in punkto Komfort mit glade gleich.
BlackJack

Beitragvon BlackJack » Mittwoch 25. Juli 2007, 16:40

@lunar: Sooo hässlich ist Tk nicht wie auf Deinem Bild. Da ist irgend etwas falsch konfiguriert. Normal sähe das so aus:

Bild

Nicht gerade hypermodern, aber IMHO annehmbar. Und irgendwann wird wohl auch `Tile` mal fertig, dann gibt's Skins/Themes für Tk die etwas moderner aussehen.
lunar

Beitragvon lunar » Mittwoch 25. Juli 2007, 17:01

BlackJack hat geschrieben:@lunar: Sooo hässlich ist Tk nicht wie auf Deinem Bild. Da ist irgend etwas falsch konfiguriert.

Bewusst habe ich das nie konfiguriert, da ich es wie gesagt nicht einsetze und auch keine Tk Programme verwende.

Normal sähe das so aus [...] Nicht gerade hypermodern, aber IMHO annehmbar.

Auch bei dir sind die Schriften nicht geglättet, auch bei dir sehen Listboxen und Radiobuttons aus wie aus dem vorigen Jahrhundert ;)
Die Schriftart allerdings scheint anders zu sein, und wirkt durch den grauen Hintergrund angenehmer. Insgesamt fällt nicht so sehr auf, dass Antialiasing fehlt, aber von schön ist imho auch dieser Shot weit entfernt ;)

Und irgendwann wird wohl auch `Tile` mal fertig, dann gibt's Skins/Themes für Tk die etwas moderner aussehen.

Ja, auch von Hurd sagt man, er solle irgendwann laufen ;)

Tk wäre ja ein echt cooles Toolkit, wenn es nur ein klein wenig hübscher wäre ;) Allerdings stellt sich mir angesichts der offensichtlichen Nachteile von Tk die Frage, warum Python an Tk festhält. Imho wäre es besser, WxWidgets zu integrieren, da dieses Toolkit mächtiger ist, schöner aussieht und ebenfalls portabel ist.
pyStyler
User
Beiträge: 311
Registriert: Montag 12. Juni 2006, 14:24

Beitragvon pyStyler » Mittwoch 25. Juli 2007, 18:03

BlackJack mit Tile hast Du vollkommen recht.
Es wird nicht lange dauern.
Ein vorgeschmak?

Bild

Wie heisst es - es ist unvermeidbar :wink:
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Beitragvon gerold » Mittwoch 25. Juli 2007, 18:26

lunar hat geschrieben:So, jetzt folgt mein Installationsbericht für Qt4 unter Windows (besonders für gerold ;) ).

:D Danke!

lg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs

Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Beitragvon birkenfeld » Mittwoch 25. Juli 2007, 18:36

lunar hat geschrieben:Allerdings stellt sich mir angesichts der offensichtlichen Nachteile von Tk die Frage, warum Python an Tk festhält. Imho wäre es besser, WxWidgets zu integrieren, da dieses Toolkit mächtiger ist, schöner aussieht und ebenfalls portabel ist.


Du weißt, wie groß wx ist?
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Beitragvon gerold » Mittwoch 25. Juli 2007, 19:13

birkenfeld hat geschrieben:Du weißt, wie groß wx ist?

7,11 MB :D
http://halvar.at | Kleiner Bascom AVR Kurs

Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.

Wer ist online?

Mitglieder in diesem Forum: brainstir