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 ^^
Welche Gui soll ich verwenden?
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hallo Miko!Miko hat geschrieben:Wie kann ich docs per apt-get installiert anschauen? bzw. Wo finde ich diese?
Sprichst du von wxPython? Wenn Ja:
Download der Demo für wxPython 2.8.4: http://prdownloads.sourceforge.net/wxpy ... .0.tar.bz2Demo 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.
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.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
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.
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.
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:
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:
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:
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()
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()
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.
@lunar: Sooo hässlich ist Tk nicht wie auf Deinem Bild. Da ist irgend etwas falsch konfiguriert. Normal sähe das so aus:
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.
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.
Bewusst habe ich das nie konfiguriert, da ich es wie gesagt nicht einsetze und auch keine Tk Programme verwende.BlackJack hat geschrieben:@lunar: Sooo hässlich ist Tk nicht wie auf Deinem Bild. Da ist irgend etwas falsch konfiguriert.
Auch bei dir sind die Schriften nicht geglättet, auch bei dir sehen Listboxen und Radiobuttons aus wie aus dem vorigen JahrhundertNormal sähe das so aus [...] Nicht gerade hypermodern, aber IMHO annehmbar.
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
Ja, auch von Hurd sagt man, er solle irgendwann laufenUnd irgendwann wird wohl auch `Tile` mal fertig, dann gibt's Skins/Themes für Tk die etwas moderner aussehen.
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.
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Danke!lunar hat geschrieben:So, jetzt folgt mein Installationsbericht für Qt4 unter Windows (besonders für gerold ).
lg
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
- birkenfeld
- Python-Forum Veteran
- Beiträge: 1603
- Registriert: Montag 20. März 2006, 15:29
- Wohnort: Die aufstrebende Universitätsstadt bei München
Du weißt, wie groß wx ist?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.
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
7,11 MBbirkenfeld hat geschrieben:Du weißt, wie groß wx ist?
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
- 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
Sprich, wenn dann müsste Python in wxPython integriert werden
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hallo birkenfeld!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
Interessanter Gedanke.
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.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
- birkenfeld
- Python-Forum Veteran
- Beiträge: 1603
- Registriert: Montag 20. März 2006, 15:29
- Wohnort: Die aufstrebende Universitätsstadt bei München
Ja, das stimmt.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.
Ich wollte eher den Grund darlegen, warum wx nie ein Python-Standardmodul werden wird.
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hallo birkenfeld!birkenfeld hat geschrieben:Ich wollte eher den Grund darlegen, warum wx nie ein Python-Standardmodul werden wird.
Ja, da muss wahrscheinlich viel passieren bevor wxPython ein Standardmodul wird.
Hilft es, wenn ich in Hungerstreik trete.
lg
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
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.
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.