Hallo! Ich möchte mit einem PC mit ca. 50MB/s Messdaten von erfassen. Ich habe bisher immer nur Konsolenanwendungen mit C programmiert und soll jetzt auch GUIs entwickeln. Hier gibt es zahlreiche Frameworks, aber so recht weiß ich auch nicht. Wichtig wäre mir eine schnelle Einarbeitung, also ein nicht so kompliziertes Framework. Plattform wäre Windows, Portabilität ist also nicht wichtig. .net/WPF/Winforms ist ja eher was für VB oder C#, die Libs der Hardware sind aber oft in C oder C++, daher vielleicht nicht so geeignet? Qt kommt Lizenztechnisch eher nicht so in Frage, da ich auch plotten möchte! wxwidgets sieht so erstmal gut aus, ist das eher ein Ausläufer oder gibt es noch aktive Projekte? Kennt jemand gute Plot-Libs dafür? GTK fällt mir dann noch ein. Fragen wären ähnlich zu wxwidgets. Danke im Vorraus!
Thomi schrieb: > Qt kommt Lizenztechnisch eher nicht so in Frage, da ich auch plotten > möchte! Wieso, auf die schnelle hab ich jetzt keine Einschränkung gesehen, außer den gewöhnlichen? Willst du eine kommerzielle, Open Source, oder nur für dich selbst genutzte Software entwickeln?
LinksRevolutzer schrieb: > Thomi schrieb: >> Qt kommt Lizenztechnisch eher nicht so in Frage, da ich auch plotten >> möchte! > > Wieso, auf die schnelle hab ich jetzt keine Einschränkung gesehen, außer > den gewöhnlichen? Korrektur jetzt hab ich es auch gesehen, QT Charts und Data Visualization sind GPL use only, mein faux pax ;)
Wenn du allerdings Python kannst wäre eventuell matplotlib* etwas für dich, kann man auch an QT verheiraten. Vorteil von Python ist das man damit auch C und C++ (und auch Fortran, daher beliebt bei einigen Maschinenbaufakultäten) ansprechen kann, kann also als glue language eingesetzt werden, ergo den kritischen Teil machst du in C++, den GUI Kram in Python (also zB PyQt). *Eigene Lizenz, siehe hier: https://matplotlib.org/users/license.html
Thomi schrieb: > Hallo! > > Ich möchte mit einem PC mit ca. 50MB/s Messdaten von erfassen. Ich habe > bisher immer nur Konsolenanwendungen mit C programmiert und soll jetzt > auch GUIs entwickeln. Hier gibt es zahlreiche Frameworks, aber so recht > weiß ich auch nicht. Wichtig wäre mir eine schnelle Einarbeitung, also > ein nicht so kompliziertes Framework. Plattform wäre Windows, > Portabilität ist also nicht wichtig. > > .net/WPF/Winforms ist ja eher was für VB oder C#, die Libs der Hardware > sind aber oft in C oder C++, daher vielleicht nicht so geeignet? UWP mit C++ wäre noch eine Option, wenn ab W8/W10 reicht. U.U. kann die Einbindung von "alten" DLLs etwas tricky sein. Siehe https://github.com/MicrosoftDocs/cpp-docs/blob/master/docs/porting/how-to-use-existing-cpp-code-in-a-universal-windows-platform-app.md Ansonsten kommt es auf die Libs, die verwendet werden sollen, an, wie gut diese in VB/C# eingebunden werden können. Mit P/Invoke geht eigentlich alles und wenn man mag geht auch Qt mit C# (siehe QtSharp und CppSharp) > Qt kommt Lizenztechnisch eher nicht so in Frage, da ich auch plotten > möchte! Wenn's nur Inhouse ist und nicht verkauft werden soll, ist die Lizenz kein Problem oder geht's da um Controls/Libs, die zugekauft werden müssten? Alles Open Source unter passender Lizenz -> auch kein Problem, nur gemischt kann's schwierig werden. > wxwidgets sieht so erstmal gut aus, ist das eher ein Ausläufer oder gibt > es noch aktive Projekte? Kennt jemand gute Plot-Libs dafür? Wenn die Plot-Libs mit der obigen Datenrate mithalten sollen, sind mir nur kommerzielle (bspw. für WPF/WinForms LightningChart oder SciChart) oder selbst entwickelte Controls bekannt. Stichworte: Shader + je nach Geschmack OpenGL oder Direct3D. Wenn HTML/CSS eine Option ist: Sciter. Kostenlos, wenn man keine Quelltexte braucht, native C++ und Bindings für u.a. C#, Go und Rust
Ich kenne Python von Chipwhisperer... da wird ja teilw. auch auf C/C++ zurückgegriffen. Insgesamt ist das nicht sehr schnell und man muss doch eine Menge auf dem Zielsystem installieren. Kann denn jemand etwas zur wxwidgets oder GTK sagen?
Python für die GUI ist völlig ausreichend, was die Geschwindigkeit angeht. Man kann auch in C und C++ sehr langsamen Code schreiben. Und mit Python kann man auch ziemlich schnellen Code schreiben, wenn man weiß was man macht. Und auf dem Zielsystem muss gar nichts weiter installiert werden. Man kann das ganze nämlich als exe verpacken. Such mal nach PyInstaller, Py2exe, cx_freeze. Wenn dir Python zu langsam ist, dann nimm einfach Qt mit C++.
LinksRevolutzer schrieb: > LinksRevolutzer schrieb: >> Thomi schrieb: >>> Qt kommt Lizenztechnisch eher nicht so in Frage, da ich auch plotten >>> möchte! >> >> Wieso, auf die schnelle hab ich jetzt keine Einschränkung gesehen, außer >> den gewöhnlichen? > > Korrektur jetzt hab ich es auch gesehen, QT Charts und Data > Visualization sind GPL use only, mein faux pax ;) Es gibt ja immer noch Qwt. Das steht unter LGPL mit ein paar Ausnahmen, die aber zugunsten des Nutzers sind, und bietet einiges an Möglichkeiten fürs Plotten.
:
Bearbeitet durch User
Hab ein bisschen bzgl. Python, insb. PyQT recherchiert und bin doch etwas mehr davon überzeugt. Wie ist es mit dem Einbinden von C++ DLLs wenn die Klassen der DLL auch Structs oder Pointer als Übergabeparameter haben? Wie stehts mit der Performance von C/C++ unter Python?
Thomi schrieb: > Hab ein bisschen bzgl. Python, insb. PyQT recherchiert und bin doch > etwas mehr davon überzeugt. PyQT steht aber auch unter GPL. Qwt ist aber eigentlich etabliert wenn es um (wissenschaftliche) Visualisierung mit Qt geht.
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.