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

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: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

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

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

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

@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

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

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: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

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

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: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

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.
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Gab es nicht sogar von Guido irgend wann die Aussage das sie tk und nicht wx nehmen weil tk früher da war?
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Der wxPython-Tarball hat ausgepackt knapp 180 MB. Python hat momentan rund 50 MB.

Sprich, wenn dann müsste Python in wxPython integriert werden :)
Dann lieber noch Vim 7 als Windows 7.

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

birkenfeld hat geschrieben:Der wxPython-Tarball hat ausgepackt knapp 180 MB. Python hat momentan rund 50 MB. Sprich, wenn dann müsste Python in wxPython integriert werden :)
Hallo birkenfeld!

Interessanter Gedanke. :lol:

Wenn man wxPython mit der Setup.exe unter Windows installiert, dann werden dort 33,2 MB installiert. Das ist sicher nicht wenig, aber für ein voll einsatzbereites GUI-Toolkit... -- damit könnte ich leben.

Bei diesen 180 MB sind ja auch die Quellen für jedes unterstützte System mit dabei (Mac, Windows, GTK). In fertig kompilierter Form wird das sicher auch unter Linux nicht so viel werden.

Aber eigentlich ist mir die Größe des Quellcodes nicht so wichtig. Einer der wichtigsten (Windows-)Vorteile von wxPython ist der, dass man es unter Windows mit dem Ausführen von nur einer Setupdatei installieren kann. Es muss nicht noch extra ein GTK oder ein QT installiert werden.

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

gerold hat geschrieben: Aber eigentlich ist mir die Größe des Quellcodes nicht so wichtig. Einer der wichtigsten (Windows-)Vorteile von wxPython ist der, dass man es unter Windows mit dem Ausführen von nur einer Setupdatei installieren kann. Es muss nicht noch extra ein GTK oder ein QT installiert werden.
Ja, das stimmt.

Ich wollte eher den Grund darlegen, warum wx nie ein Python-Standardmodul werden wird.
Dann lieber noch Vim 7 als Windows 7.

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

birkenfeld hat geschrieben:Ich wollte eher den Grund darlegen, warum wx nie ein Python-Standardmodul werden wird.
Hallo birkenfeld!

Ja, da muss wahrscheinlich viel passieren bevor wxPython ein Standardmodul wird. :roll:
Hilft es, wenn ich in Hungerstreik trete. :twisted:

lg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

Tile schaut ja interessant aus, so wird mir tk gleich wieder sympathisch :)

@pyStyler: Was für ein tile theme hast du auf dem Screener? und was für ein metacity (?) theme ist das, thx.

apollo13
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Tk hat nun mal Beschränkungen in Aussehen und Verfügbarkeits von Widgets, ist dafür aber kleiner und einfacher zu programmieren.

wx bietet Tonnen von Widgets, die man sich kaum selbst alle ausdenken könnte, und kann was nicht alles - ist dafür aber relativ fett. Qt ordne ich da ebenfalls ein.

Ist das nicht eine prägnante Zusammenfassung?

Auf allen Plattformen laufen diese drei als auch GTK grundlegend alle, das ist IMHO also ohne spezifischere Betrachtung oder Zielvorgabe noch kein Kriterium.
Antworten