Hallo alle zusammen, ich habe folgende Problem: Ich habe eine Software entwickelt, wo ich mir Messdaten einlesen und auch in eine DataBase schreibe. Dieses Software ist in C++ und Qt 4.8 geschrieben. --> Bis hier ist alles Okay und es funktioniert das ganze genau wie es sein muss. Nun möchte ich diese Messdaten auswerten und gegebenfall Visualisieren (Das wird in eine getrennte Software). Ich kann mich ehrlich gesagt nicht entscheiden: mit welche Programmiersprache soll das ganze programmiert werden. In C++ ist machbar aber halt umständlich vorallem die Visualisierung und die Auswertung (mehrere Kurven werden nötig sein). Ich bin durch einen zufall auf Python gestossen und bin einfach begeistert vorallem von der Mächtigkeit dieser Sprache. Ich bin am überlegen meine neue Software in dieses sprache zu schreiben. Was mir bei dieses Sprache sehr gut gefallen hat, ist die einfachheit der Benuzung von "Matplotlib" und das ist genau was ich in meine Anwendung brauche. Was meint ihr dazu? Wie umständlich wird für mich das Einstieg in Python? Kann man mit überhaupt mit Python eine Installer (exe) machen ? was meint ihr dazu?
Python und nicht Phyton :-)
Kann dir zu Python leider nichts sagen. Trotzdem: Abhängig davon, wie (wenig) kompliziert die Auswertung ist wäre evtl. Gnuplot eine Möglichkeit. Es ist eine sehr mächtige Plotsoftware mit eingeschränkter Möglichkeit der Datennachbearbeitung (Spalten miteinander verrechnen, um-skalieren, mathematische Ausdrücke auf Spalten anwenden). Du kannst es interaktiv oder über Kommandodateien im Textformat steuern. Gerhard
Hallo, natürlich eignet sich jede Programmiersprache zur Berechnung und Visualisierung, aber wie schon geschrieben ist die Frage was Du machen willst, wie Deine Daten aussehen, wie soll die Graphik sein, etc. dafür notwendig. Will ich schnell zum Ziel kommen, oder soll das Programm nachher weitergegeben werden. Oder weitergegeben werden um es zu modifizieren.... alles spielt bei der Entscheidungsfindung eine Rolle. Ich habe mit C++ und der Bibliothek Euler schon einiges gemacht, weil man so relativ gut in Vektoren oder Matrizen rechnen kann. Visualisiert habe ich das dann mit QT und QWT Plot. Auf der anderen Seite habe ich auf der Arbeit Matlab für Entwicklungsprojekte. Dort kommt es eher darauf an schnell was zu entwickeln und ausprobieren zu können. Mal eben die Daten berechnen, normieren, quadrieren und plotten alles kein Problem. Ich brauche auch nichts neu übersetzen. Wenn mein Code dann steht und ich es benötige kann ich dann davon immernoch ein C++ Programm erstellen. Für Python ist meines erachtens die Erweiterung numphy, sciphy sehr interessant. Ich denke Im Internet findest dazu einiges an Dokumentation. Ist quasi eine Erweiterung von python um mit Vektoren und Matrizen zu rechnen und diese zu plotten. Auch LabView setzte ich ab und an für solche Zwecke ein, wobei ich immer mehr zur Erkenntnis komme, dass man aufwändige Code-Teile lieber in C und als DLL einbindet. Es mag sein, dass neuere LabView Varianten besser bezüglich VCS Systemen ist, aber diese grafische Programmierung hat halt auch seine Nachteile - der Vorteil ist dass die Kollegen damit besser klarkommen als ein reines C++ Programm.
Robert schrieb: > Kann man mit überhaupt mit Python eine Installer (exe) machen ? Klar geht das. Dazu brauchst du noch ein Programm dass das fuer dich macht: - cx_Freeze, - PyInstaller, oder - Py2Exe Robert schrieb: > Wie umständlich wird für mich das Einstieg in Python? Alles kein Hexenwerk, der Umstieg ist sehr einfach. Ich kann da dieses Buch sehr empfehlen, falls du eins brauchst: http://www.amazon.de/Python-umfassende-Sprachgrundlagen-Objektorientierung-Modularisierung/dp/3836219255/ref=sr_1_1?ie=UTF8&qid=1419948206&sr=8-1&keywords=python+3 Python hat den Vorteil das du schnell zu einem Ergebnis kommst. Da du ja erfahrung mit Qt zu haben scheinst: Es gibt auch PyQt. Das gleiche wie Qt nur halt fuer Python, der Qt-Designer zum oberflaechen zusammen klicken ist der gleiche. Mit Numpy, Matplotllib und Co. hat man dein Projekt schnell zusammengeschraubt.
Robert schrieb: > Dieses Software ist in C++ und Qt 4.8 geschrieben. > In C++ ist machbar aber halt umständlich vorallem die Visualisierung und > die Auswertung (mehrere Kurven werden nötig sein). Wenn der Rest eh schon in C++ mit Qt geschrieben ist, würde sich doch anbieten, das auch damit zu machen. Das schon genannte Qwt bietet für Graphen passende Klassen, die recht einfach zu nutzen sind.
Robert schrieb: > Was mir bei dieses Sprache sehr gut gefallen hat, ist die einfachheit > der Benuzung von "Matplotlib" Es würde mich doch sehr wundern, wenn es für C/C++ nichts Vergleichbares gäbe. Ausserdem ist es nicht besonders schwierig, eine Kurve aus Messwerten in ein Achsenkreuz zu zeichnen, das programmiert man so nebenher, auch mit stufenloser Skalierung (notfalls bis herunter auf einen Windows-Button). Aufwendiger wird es bei Kuchen oder 3D. Georg
Robert schrieb: > Nun möchte ich diese Messdaten auswerten und gegebenfall Visualisieren > (Das wird in eine getrennte Software). Hast Du schon mal über gnuplot nachgedacht?
Um schnell zu Ergebnissen zu kommen, ist Python zusammen mit den schon genannten Bibliotheken sicherlich ideal. Wenn Dein Kunde auch mit eigenen Auswertealgorithmen oder Visualisierugen experimentieren möchte, dann umso mehr. Ich würde Dir die Distribution PythonXY (https://code.google.com/p/pythonxy/) empfehlen. Da kommt schonmal alles in einem hübschen Installer daher. Ob und wie man eigene Software da einklinken kann, weiß ich allerdings nicht. Ich bin nicht ganz sicher, ob man damit interaktive Oberflächen bauen kann, die z.B. bei Klick auf einen Datenpunkt weitere Details anzeigen, oder ein Menu mit dem man z.B. verwandte Daten anfordern kann. Wenn man so etwas braucht ist es evtl. besser, selbst ein oder mehrere QWidgets in C++ zu programmieren. Was auch gut geht: Pythonxy als Anwendung in einem WebServer (MS IIS) laufen zu lassen. Dann braucht man auf den Clients evtl. gar keine Software zu installieren. Dafür darf die Installation auf dem Server dann ruhig etwas schwieriger sein.
Wenn es um einfache Diagramme geht, bleib doch bei Qt mit einer der Plotlibs, wie QWT, qcustomplot. Oliver
Ja ein Blick auf http://www.qcustomplot.com/ lohnt sich auf jeden Fall. Ich finde es viel einfacher zu handeln als QWT
ahoj, ich habe letztens bei einer solchen aufgabe einen ganz anderen weg beschritten: die auswertung an sich in C#, die visualisierung per HTML5 canvas wahlweise im browser auf dem desktop oder quasi als kostenloses nebenprodukt auch auf dem handy oder tablet. der kram lief mit mono dann auch unter linux perfekt, falls windows nicht in frage kommen sollte. lg von der moldau
Rufus Τ. Firefly schrieb: > Robert schrieb: >> Nun möchte ich diese Messdaten auswerten und gegebenfall Visualisieren >> (Das wird in eine getrennte Software). > > Hast Du schon mal über gnuplot nachgedacht? Daran habe ich nicht nachgedacht und das kenne ich gar nicht. Kann man das auch in visual studio einbinden? Was ich vorhabe ist aufjedenfall in c++ machbar, aber da es python im verbindung mit qt ist viel flexibler meine meinung nach und nich wie ich genannt habe nicht so aufwendig wie c++. Dazu ist für mich die zeit reif um was neues zu lernen zb. Python Was mir allerdings wichtig ist, ist eine installer daraus zu machen und das wurde schon beantwortet. Kaj G. schrieb: > Robert schrieb: >> Kann man mit überhaupt mit Python eine Installer (exe) machen ? > Klar geht das. Dazu brauchst du noch ein Programm dass das fuer dich > macht: > - cx_Freeze, > - PyInstaller, oder > - Py2Exe > > Robert schrieb: >> Wie umständlich wird für mich das Einstieg in Python? > Alles kein Hexenwerk, der Umstieg ist sehr einfach. > Ich kann da dieses Buch sehr empfehlen, falls du eins brauchst: > http://www.amazon.de/Python-umfassende-Sprachgrund... > > Python hat den Vorteil das du schnell zu einem Ergebnis kommst. Da du ja > erfahrung mit Qt zu haben scheinst: > Es gibt auch PyQt. Das gleiche wie Qt nur halt fuer Python, der > Qt-Designer zum oberflaechen zusammen klicken ist der gleiche. > > Mit Numpy, Matplotllib und Co. hat man dein Projekt schnell > zusammengeschraubt.
Robert schrieb: > Was mir allerdings wichtig ist, ist eine installer daraus zu machen und > das wurde schon beantwortet. > > Kaj G. schrieb: >> Robert schrieb: >>> Kann man mit überhaupt mit Python eine Installer (exe) machen ? >> Klar geht das. Dazu brauchst du noch ein Programm dass das fuer dich >> macht: >> - cx_Freeze, >> - PyInstaller, oder >> - Py2Exe Mit den genannten Programmen machst du (genaugenommen) keinen Installer, sondern erstmal nur eine .exe-Datei, damit du das auf Windowsrechnern ausfuehren kannst, ohne Python installieren zu muessen. Einen Installer (setup.exe) kannst du aber mit Inno-Setup (http://www.jrsoftware.org/isdl.php) erstellen.
:
Bearbeitet durch User
Robert schrieb: > Was ich vorhabe ist aufjedenfall in c++ machbar, aber da es python im > verbindung mit qt ist viel flexibler meine meinung nach und nich wie ich > genannt habe nicht so aufwendig wie c++. > Dazu ist für mich die zeit reif um was neues zu lernen zb. Python Oder deutsche Sprache?
Ich würde das ganze mit Java programmieren
Ich würde auf jeden Fall Python nehmen, eventuell mit TkInter, falls grafische Oberfläche gewünscht.
Hallo alle zusammen, nach lange überlegung habe ich mich entschlossen meinen Projekt mit Python zu programmieren. habt ihr vielleicht einen Empfehlenden Buch, der mir das Einstieg in Python erleichtert. Es wäre super schön, wenn es dieses Buch auch Qt Beispiele beinhaltet. Noch schöne wäre es auch, wenn es auch Entwurf, Konzept, Design und ... (was zu Objektorientierte Konzept) beinhaltet. Noch mal danke für eure Ratschläge.
Robert schrieb: > habt ihr vielleicht einen Empfehlenden Buch, der mir das Einstieg in > Python erleichtert. > > Es wäre super schön, wenn es dieses Buch auch Qt Beispiele beinhaltet. Kaj G. schrieb: > Ich kann da dieses Buch sehr empfehlen, falls du eins brauchst: > http://www.amazon.de/Python-umfassende-Sprachgrundlagen-Objektorientierung-Modularisierung/dp/3836219255/ref=sr_1_1?ie=UTF8&qid=1419948206&sr=8-1&keywords=python+3
4. fenstersturz schrieb: > ich habe letztens bei einer solchen aufgabe einen ganz anderen weg > beschritten: die auswertung an sich in C#, die visualisierung per HTML5 > canvas wahlweise im browser auf dem desktop oder quasi als kostenloses > nebenprodukt auch auf dem handy oder tablet. Wenn du die Daten als XML ausgeben kannst, dann schau dir für Visualisierungen (für "Clients") ggf. mal das Flex-Framework mit dessen "DataServices" und "Charts" an. (zum teil OpenSource...) Es ist hald dann ActionScript3 Flash oder die Air-Runtime, und für grafische Sachen und vielen Daten wirklich sau schnell. Und es läuft mit einem einzigen binary auch überall (Win Mac Linux Tablet IOS Android SmartTv etc etc.) Das geht quasi alles mit der Maus und man kommt da recht schnell zu sichtbaren Ergebnissen. CodeSyntax ist wie ECMA Java C# / etc, falls du überhaupt noch Code brauchst, um eventuell einige Sortierungen, Ein- und Ausblenden der Spalten, oder auch Vergrößerungen der Charts (Detailansichten), etc etc einzubauen.
python ist quasie ausführbarer Pseudocode. daher find ich das so geil. sowas einfaches bräuchte man auch für uC.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.