Hallo zusammen,
zu Beginn möchte ich kurz mein Vorhaben/Projekt vorstellen.
Ich möchte mittels pyqt5 eine GUI erstellen, mit der ich eine Art Schaltzeituhr bauen möchte.
Hierbei sollen über die Gui Ausgänge am Raspberry geschaltet werden.
Meine Frage ist nun, ob ich Schaltzeiten über Python Date Libary oder über QDate/QTime/QDateTime gestalte?
QDate/QTime/QDateTime bietet eine hohe Funktionalität und Umfang im Vergleich zu der normalen Python Date Libary.
Zudem sollte noch beachtet werden, dass ich die Daten in einer MongoDB abspeichern möchte, falls ich den Pi mal neu starte oder er abkackt.
Wollte die Daten erstmal in einem Klasse/Objekt ablegen und dann in die DB laden.
Zudem habe ich noch eine Frage, ob jemand den link schicken kann, welcher die Docu von pyqt5 zeigt, allerdings in python.
Alle die ich finde, beziehe sich auf c++, ja und ich weiss, dass dieses Framework in c++ geschrieben ist, aber vieleicht gibt es ja auch eine mit Python.
Vielen vielen Dank
Gruß
Alexander
Date oder QDate
- __blackjack__
- User
- Beiträge: 14002
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@codingalex: Ich persönlich würde Python's Datentypen dafür nehmen weil das bei einer Zeitschaltuhr zur Geschäftslogik gehört und ich mich da nicht an eine GUI-Bibliothek binden wollen würde. Und bietet `QDate` & Co tatsächlich mehr Funktionalität? Klar man muss noch `pytz` dazu nehmen, aber das ist ja wohl hauptsächlich deswegen nicht in der Standardbibliothek weil man so etwas aktuell halten möchte, und nicht auf eine auf ~18 Monate eingefrorene Version festlegen möchte bis die nächste Python-Version raus kommt. Und das würde dann auch noch voraussetzen, dass man tatsächlich immer sofort auf die neueste Version aktualisiert.
Auf MongoDB als Speicherbackend hat die Entscheidung eher keine Auswirkung – da muss man die Daten in beiden Fällen irgendwie (de)serialsieren.
Hast Du Dich schon umgeschaut welche Bibliotheken es so für ”Zeitschaltuhren” gibt? APScheduler oder `scheduler` beispielsweise‽ Ersteres hat sogar schon die Möglichkeit (unter anderem) MongoDB zum Speichern zu verwenden und hat auch eine Integration in Qt.
Die Dokumentation für PyQt5 ist für Python. Da wird allerdings ”nur” beschrieben was man wissen muss um die C++-Dokumentation verwenden zu können. Es ist ja letztlich die selbe API, da macht sich keiner die Mühe das alles in Python zu ”übersetzen”. Ja, man muss ein bisschen C++ lesen können, aber das ist nicht wirklich schwer.
Auf MongoDB als Speicherbackend hat die Entscheidung eher keine Auswirkung – da muss man die Daten in beiden Fällen irgendwie (de)serialsieren.
Hast Du Dich schon umgeschaut welche Bibliotheken es so für ”Zeitschaltuhren” gibt? APScheduler oder `scheduler` beispielsweise‽ Ersteres hat sogar schon die Möglichkeit (unter anderem) MongoDB zum Speichern zu verwenden und hat auch eine Integration in Qt.
Die Dokumentation für PyQt5 ist für Python. Da wird allerdings ”nur” beschrieben was man wissen muss um die C++-Dokumentation verwenden zu können. Es ist ja letztlich die selbe API, da macht sich keiner die Mühe das alles in Python zu ”übersetzen”. Ja, man muss ein bisschen C++ lesen können, aber das ist nicht wirklich schwer.
“The best book on programming for the layman is »Alice in Wonderland«; but that's because it's the best book on anything for the layman.” — Alan J. Perlis