Forum: PC-Programmierung Auf die schnelle GUIs unter Linux erstellen am besten mit?


von umsteiger (Gast)


Lesenswert?

Moin,

Ich baue beruflich allerlei kleinere und größere Messgeräte- und 
Aufbauten zusammen. Dabei sind in der Regel serielle Schnittstellen 
beteiligt, entweder um irgendwelche Sensoren auszulesen oder aber meine 
verbauten Mikrocontroller zu steuern.

Bisher habe ich immer unter Windows mit VB.NET mehr oder weniger 
aufwendige Benutzeroberflächen dazu zusammengeklickert, mit denen ich 
und alle späteren Benutzer einwandfrei zufrieden waren.

Zumeist geht es wirklich nur darum, per Button Befehle per serieller 
Schnittstelle zu verschicken, auf Ausgaben zu lauschen und diese 
gelegentlich zu plotten oder in eine Datei zu schreiben.
OK, einmal war eine Webcam einzubinden, anzusteuern und auch Bilder 
aufzuzeichnen. Mit Visual Studio keine große Sache.

Nun hat mich allerdings Windows10 solange mit seinen (NICHT-) Updates 
und unabwendbaren nächtlichen Reboots genervt, dass ich auf Linux Mint 
mit Cinnamon Desktop umgestiegen bin.

Wohl auch weil ich Linux seit Jahren regelmäßig für diverse Embedded 
Projekte verwendet habe, bin ich damit ziemlich glücklich.

*TL;DR*

Mir fehlt unter Linux noch etwas wirklich vergleichbares zum VS, mit dem 
ich auf die Schnelle "schöne" GUIs zustande bringen kann. Wenn die dann 
auch noch unter Windows laufen würden wäre das natürlich perfekt, aber 
nur für Linux wäre erstmal OK. Dann müssen eben noch ein paar Rechner 
umgestellt werden ;)

Kann mir da jemand einen guten Tip geben? Ich habe mich da natürlich 
auch schon umgesehen, aber vielleicht kennen hier ja mehr Leute das 
Problem und haben etwas geniales gefunden...?

Vielen Dank!

PS: Die Sprache ist mir einigermaßen egal, C, C++ und Python sind mir 
geläufig, Basic sowieso, fällt aber wohl eher raus...

von Erwin D. (Gast)


Lesenswert?

umsteiger schrieb:
> PS: Die Sprache ist mir einigermaßen egal

Dann schau dir mal Lazarus an. Ist ähnlich wie Delphi aufgebaut.

von Mr Bean (Gast)


Lesenswert?

Wie wäre es mit Qt oder Gtk?

Gruß,
Bean

von Andreas R. (daybyter)


Lesenswert?

Ich versuch mich gerade an einer Oszi Oberfläche mit QML (Qt).

Evtl ist das was für Dich.

Brauchst aber ein sehr neues Qt.

http://doc.qt.io/qt-5/qtcharts-qmloscilloscope-example.html

von restmuell (Gast)


Lesenswert?

Habe sehr gute Erfahrungen mit FLTK gemacht.
https://de.wikipedia.org/wiki/Fast_Light_Toolkit
mfG

von rmu (Gast)


Lesenswert?

Tcl/Tk war super, auch wenns ein paar unschöne Dinge gibt in der 
Sprache.

Heutzutage verwende ich QT-Designer, in Verbindung mit PyQt und Python.

von Md M. (Firma: Potilatormanufaktur) (mdma)


Lesenswert?

Beitrag "Re: Auf die schnelle GUIs unter Linux erstellen am besten mit?"
Beitrag "Re: Auf die schnelle GUIs unter Linux erstellen am besten mit?"
Beitrag "Re: Auf die schnelle GUIs unter Linux erstellen am besten mit?"

Dem schließe ich mich an. Ich persönlich habe mich allerdings mit 
proccessing.org angefreundet. Hat den Vorteil, dass man das auch als 
Java-Programm exportieren kann. Für GUIs gibt es außerdem ganz nette 
libs

https://processing.org/reference/libraries/#gui

von Nase (Gast)


Lesenswert?

Qt ist eigentlich so der Standard, imho.
Zusammen mit Qwt kann man da schon was zaubern.

Gtk geht auch, steigt aber allmählich ab.

von Strubi (Gast)


Lesenswert?

Ich hätte noch wxPython. Schneller gehts kaum..
Für industrielle SCADA-Sachen fand ich pvbrowser ganz pfiffig.

von Slippin J. (gustavo_f)


Lesenswert?

Ich hätte jetzt auch Qt genommen, am besten mit QML. Mit dem QtCreator 
als IDE kriegt man da auch schnell eine ansehnliche, 
plattformunabhängige GUI hingezaubert.

von C#-User (Gast)


Lesenswert?


von Np R. (samweis)


Lesenswert?

Die Kombination Anjuta  Glade  GTK+ fand ich sehr einfach und schnell.
http://www.anjuta.org
https://glade.gnome.org/

von Fritz G. (fritzg)


Lesenswert?

Slippin J. schrieb:
> Ich hätte jetzt auch Qt genommen, ...
> plattformunabhängige GUI hingezaubert.

Ist bei mir schon ein paar Jahre her, aber mit Qt kann man nicht nur die 
GUI, sondern die gesamte Software Betriebssystem unabhängig machen. Qt 
bietet nicht nur GUI sondern auch alles andere was man braucht 
(Filehandling usw.) portabel an.

von sven98 (Gast)


Lesenswert?

Das kannste auch mit Javascript im Browser erledigen, guckst du hier:

http://arachnoid.com/SigGen/index.html

Sven

von K. J. (Gast)


Lesenswert?

Wenn es möglichst einfach und VB ähnlich sein soll dann Gambas, 
ansonsten hast da ja freie Auswahl.

von Sheeva P. (sheevaplug)


Lesenswert?

umsteiger schrieb:
> Mir fehlt unter Linux noch etwas wirklich vergleichbares zum VS, mit dem
> ich auf die Schnelle "schöne" GUIs zustande bringen kann.
> [...]
> PS: Die Sprache ist mir einigermaßen egal, C, C++ und Python sind mir
> geläufig, Basic sowieso, fällt aber wohl eher raus...

Unter Python bieten sich natürlich das nicht sehr hübsche Tkinter, sowie 
das optisch etwas gefälligere Tix an. Ansonsten kannst Du Qt benutzen: 
sieht gut aus, bietet mit Qt Designer eine GUI zum "Malen" von GUIs und 
mit Qt Creator sogar eine komplette IDE, und kann von verschiedenen 
Programmiersprachen benutzt werden, darunter C++ und Python.

von Zeigefinger (Gast)


Lesenswert?

Aber erst einmal die jeweiligen Lizenzbedingungen lesen, besonders die 
von Qt (inzwischen LGPL; ist zwar nicht so wild, aber es ist hier bei 
Closed Source meist sinnvoll, dynamisch zu linken). So simpel wie mit VS 
und den beiliegenden Libs (kompilieren, linken und weg damit) ist es 
nicht immer.

von S. M. (lichtmensch)


Lesenswert?

Wenn dir Basic liegt dann eventuell Gambas. Das ist eine art Visual 
basic für Linux

von Volker S. (vloki)


Lesenswert?

Ich verwende auch Qt(Creator).
Zum Plotten QCustom Plot http://qcustomplot.com/

Funktioniert (für meine Ansprüche) super und auch Platform unabhängig.
http://www.hs-ulm.de/nocache/wir/Personal/PersonalSaSchr/vschilli/QtProjekte/

von lolex (Gast)


Lesenswert?

Das schreit ja geradezu nach LabVIEW.

von Dumdi D. (dumdidum)


Lesenswert?

Gibt es auch Toolkits/Libs, die GUIs für Touchscreen unterstützen? (Mit 
Buttons hat man da keine Probleme, aber was ist z.B.  mit File-Dialogen, 
häufig sind die ja zu klein)

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Zeigefinger schrieb:
> Aber erst einmal die jeweiligen Lizenzbedingungen lesen, besonders die
> von Qt (inzwischen LGPL; ist zwar nicht so wild, aber es ist hier bei
> Closed Source meist sinnvoll, dynamisch zu linken). So simpel wie mit VS
> und den beiliegenden Libs (kompilieren, linken und weg damit) ist es
> nicht immer.

LGPL v3 bringt da noch ein paar mehr Bedingungen mit. Unter anderem 
musst du was mitliefern um deine Quellen von Qt übersetzen zu können. 
Also auch eine VM mit Crosscompiler usw. Bereithalten falls Mal jemand 
nachfrägt.

Matthias

von Volker S. (vloki)


Lesenswert?

Dumdi D. schrieb:
> Gibt es auch Toolkits/Libs, die GUIs für Touchscreen unterstützen? (Mit
> Buttons hat man da keine Probleme, aber was ist z.B.  mit File-Dialogen,
> häufig sind die ja zu klein)

QML?
Recht ausführliches QML Tutorial von Joseph Mills
https://www.youtube.com/playlist?list=PLB22HyVdO1GkLFrvRi5vIo5XcWS0EflxD
(File-Dialog -> Part 39)

: Bearbeitet durch User
von Edson (Gast)


Lesenswert?

Der TO hat Portabilität nicht als höchste Priorität eingestuft und 
arbeitet unter Linux - da finde ich Gambas, wie schon genannt wurde, 
ganz
empfehlenswert.

PS. Hat hier jemand Labview geschrien? Weiter auseinander könnte unsere 
Auffassung der Dinge gar nicht sein...

von Rolf M. (rmagnus)


Lesenswert?

Zeigefinger schrieb:
> Aber erst einmal die jeweiligen Lizenzbedingungen lesen, besonders die
> von Qt (inzwischen LGPL; ist zwar nicht so wild, aber es ist hier bei
> Closed Source meist sinnvoll, dynamisch zu linken).

Es ist bei Closed Source nicht nur "meist sinnvoll", sondern zwingend 
erforderlich, um die Lizenzbedingungen einzuhalten.

> So simpel wie mit VS und den beiliegenden Libs (kompilieren, linken und
> weg damit) ist es nicht immer.

Man kann auch eine Qt-Lizenz erwerben. Dann ist es da genauso einfach. 
Wenn man's für umme will, muss man eben damit leben, dass es dynamisch 
gelinkt werden muss.

von Sheeva P. (sheevaplug)


Lesenswert?

Rolf M. schrieb:
> Man kann auch eine Qt-Lizenz erwerben. Dann ist es da genauso einfach.
> Wenn man's für umme will, muss man eben damit leben, dass es dynamisch
> gelinkt werden muss.

Außer in ganz wenigen Ausnahmefällen wie Portable-Versionen will man 
doch ohnehin immer dynamisch linken.

von Epoxyd H. (fr4)


Lesenswert?

Für die von dir genannten Aufgaben verwende ich ganz gerne "Node Red".
Ist sozusagen LabView für Arme. Da ich ganz gerne mit dem Raspberry 
arbeite und dort bei dem Debian Jessy das Node Red vorinstalliert ist, 
ist das schon eine ganz praktische Sache.

Per default ist die UI bei Node Red einfach gehalten. Das kann man aber 
per Html aufbohren.

https://nodered.org/

von Sheeva P. (sheevaplug)


Lesenswert?

Epoxyd H. schrieb:
> Für die von dir genannten Aufgaben verwende ich ganz gerne "Node Red".
> Ist sozusagen LabView für Arme. Da ich ganz gerne mit dem Raspberry
> arbeite und dort bei dem Debian Jessy das Node Red vorinstalliert ist,
> ist das schon eine ganz praktische Sache.
>
> Per default ist die UI bei Node Red einfach gehalten. Das kann man aber
> per Html aufbohren.
>
> https://nodered.org/

Ist das nicht so eine Art Webseite? Dann könnte man ja auch noch Python 
mit Flask ins Feld führen. ;-)

von Arc N. (arc)


Lesenswert?

umsteiger schrieb:
> PS: Die Sprache ist mir einigermaßen egal, C, C++ und Python sind mir
> geläufig, Basic sowieso, fällt aber wohl eher raus...

Wenn's VB.Net war könnte man auch dabei bleiben insb. wenn es vorher nur 
WinForms-Anwendungen waren -> Mono und als IDE MonoDevelop.
http://www.monodevelop.com/
http://www.mono-project.com
(VB hat allerdings nicht die höchste Priorität, weder bei mono noch der 
IDE)

von Epoxyd H. (fr4)


Lesenswert?

Sheeva P. schrieb:
> Epoxyd H. schrieb:
>> Für die von dir genannten Aufgaben verwende ich ganz gerne "Node Red".
>> Ist sozusagen LabView für Arme. Da ich ganz gerne mit dem Raspberry
>> arbeite und dort bei dem Debian Jessy das Node Red vorinstalliert ist,
>> ist das schon eine ganz praktische Sache.
>>
>> Per default ist die UI bei Node Red einfach gehalten. Das kann man aber
>> per Html aufbohren.
>>
>> https://nodered.org/
>
> Ist das nicht so eine Art Webseite? Dann könnte man ja auch noch Python
> mit Flask ins Feld führen. ;-)

Ja das ist richtig. Node-Red läuft als Server und die Clients bekommen 
eine Webseite angezeigt. Hat halt den Vorteil, dass alle Betriebssystem 
mit Browser Daten anzeigen lassen können.

Im Übrigen habe ich bei dem erste Posting eine Art  Dejavu gehabt:
- auch ich bin genervertermaßen von Windows auf Linux Cinnamon 
umgestiegen
- Ich habe auch vorher jahrelang mit .Net (C#) Sensoren angesprochen, 
Serielle Schnittstellen bedient etc.
- auf der Suche nach einem ähnlichen Tool bin ich dann auch über 
Monodevelop gestolpert. Hat auch ganz gut funktoniert, hat sich aber für 
mein Gefühl nicht so rund und ein bischen hakelig "angefühlt".

Dann bin ich halt auf Node-Red gestoßen und bin dabei geblieben, da es 
für mich eine einfache Möglichkeit ist mein bischen Sensoren auslesen 
und Aktoren bedienen ohne große Aufwand zu ermöglichen. Ein Raspberry, 
der den Node-Red Server hosted läuft bei mir eh ständig.

Diese Lösung ist nicht ganz das was der TO sucht. Es wäre aber eine 
Alternative.

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
Noch kein Account? Hier anmelden.