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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von umsteiger (Gast)


Bewertung
0 lesenswert
nicht 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)


Bewertung
1 lesenswert
nicht 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)


Bewertung
1 lesenswert
nicht lesenswert
Wie wäre es mit Qt oder Gtk?

Gruß,
Bean

von Andreas R. (daybyter)


Bewertung
3 lesenswert
nicht 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)


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

von rmu (Gast)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
1 lesenswert
nicht 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)


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

von Slippin J. (gustavo_f)


Bewertung
1 lesenswert
nicht 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)


Bewertung
-1 lesenswert
nicht lesenswert

von Np R. (samweis)


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

von Fritz G. (fritzg)


Bewertung
1 lesenswert
nicht 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)


Bewertung
-1 lesenswert
nicht lesenswert
Das kannste auch mit Javascript im Browser erledigen, guckst du hier:

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

Sven

von K. J. (Gast)


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

von Sheeva P. (sheevaplug)


Bewertung
-1 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


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

von Volker S. (vloki)


Bewertung
0 lesenswert
nicht 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)


Bewertung
-4 lesenswert
nicht lesenswert
Das schreit ja geradezu nach LabVIEW.

von Dumdi D. (dumdidum)


Bewertung
0 lesenswert
nicht 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


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.