Hallo Community!
Ich bin im Moment auf der Suche nach einem GUI-Toolkit für C++, welche für eine Industrielle Anwendung ( Sondermaschine für die Teilprüfung ) geeignet ist.
Auf folgende Aspekte kommt es da an:
1. Stabilität
2. Integration in C++
3. Resourcenschonung – Vorrang hat der Ablauf des Prüfprogramms
4. Support des Framebuffers – um an X11-Overhead vorbei zu kommen
5. Gute Dokumentation und einfache Einarbeitung
Qt bzw. Qt/embedded sind eigentlich meine Favoriten, allerdings sprechen dagegen die Lizenzbedingungen und die Resourcenschonung. Eventuell könnte auch die libSVGA in Betracht kommen.
Vielen Dank für eure Hilfe!
Schau dir doch mal wxwindows an!
Dieses ist eine plattformübergreifende GUI (X-Windows, Embedded Systems, Windows,Dos,MAC OS X ..)
Ob es einen Framebuffersupport hat, habe ich leider nicht gefunden!
Es ist stabil, recht hoch verbreitet und gut dokumentiert. Auch könnte die Lizenz für Dich interessant sein! Es handelt sich hierbei um eine modifizierte LGPL (Library General Public Licence).
Habe leider keine persönlichen Erfahrungen zu der GUI!
Hmmm. Also meines Wissens gibt es keine brauchbare C++ Bibliothek, die auf Framebuffer Support aufbaut und eine vernuenftige GUI Umgebung abbildet. Du liegst mit QTEmbedded und Framebuffer schon richtig. GTK duerfte mit GTK++ plus X nicht in Frage kommen. Nun muss nur noch mal hinterfragt werden, warum kein X?? Bliebe noch irgendeine html oder xml basierte Loesung, aber das bedeutet auch ein Menge Programmieraufwand. QTopia auf dem Zaurus ginge wahrscheinlich in deine Richtung und es scheint auch das zu bieten, was derzeit machbar ist.
winke
Hi,
Direct FB baut direkt auf dem framebuffer device auf. Es verfügt auch über hardwarebeschleunigung für einige im PC Bereich gängige Grafikkarten. Es gibt eine hierfür angepasste Version von GTK+, für die wiederum es C++ wrapper gibt. Ob das insgesamt ein geringerer Overhead als QTE ist glaube ich allerdings nicht. Die Lizenz dürfte aber Deinen Vorstellungen entsprechen.
Im Agenda VR3 PDA war Tiny X in Verbindung mit FLTK eingesetzt. Tiny X ist eine Version von XFree, die für embedded systems angepasst wurde und sich besonders in “near out of memory situations” robust verhalten soll. War zwar auf dem 66 MHz MIPS Prozessor (16 MB Flash, 8 MB Ram) etwas träger als QTE auf StrongARM 200 MHz, aber noch akzeptabel. Das wäre vom Overhead her eine brauchbare Lösung. Lizenz XFree/LGPL. Denkbar wäre auch, Tiny X mit GTK+/GTK– zu verbinden.
Von der libSVGA würde ich abraten, da es dafür keine (oder irre ich mich da?) keine gebräuchlichen GUI-Toolkits gibt.
[1] http://www.directfb.org
[2] http://www.fltk.org
[3] http://www.gtk.org
[4] http://www.gtkmm.org
Hallo!
Vielen Dank für die guten Vorschläge! Ich werde mir mal FLTK in Verbindung mit DirectFB anschauen. Vorteil von FLTK: ist gleich C++ und DirectFB-Support ist auch dabei.
Falls jemand Erfahrung mit diesem Gespann hat, kann er sich ja hier mal melden. Würde mich freuen!
Gruß Dennis
Hallo Dennis,
Soweit ich sehe, funktioniert FLTK in Verbindung mit DirectFB nicht.
Ich würde zu Tiny-X mit FLTK tendieren. Weiteres gerne per Mail.
Ich bin gerade über Deine alte Mail bzgl. kleine Distribution gestolpert –
wenn Ihr hier noch Hilfe braucht, sag’ einfach mal Bescheid.
Evtl. findest Du mehr Infos auch auf unserer Homepage
http://www.linux-automation.de
Robert
—
Dipl.-Ing. Robert Schwebel | http://www.pengutronix.de
Pengutronix – Linux Solutions for Science and Industry
Braunschweiger Str. 79, 31134 Hildesheim, Germany
Handelsregister: Amtsgericht Hildesheim, HRA 2686
Phone: +49-5121-28619-0 | Fax: +49-5121-28619-4
Hallo Robert! Weiß auch nicht was mich da geritten hat! Wahrscheinlich die zu frühe Euphorie *G* Ist auch wie ich gemerkt habe ne Menge Arbeit!
– Ich brauch noch ne geeigente Basisdistr – SuSE ist da eher ungeeignet.
– Wie setz ich das System auf, damit es einfach zu betreiben ist und “idiotensicher”
– Wird das ganze schließlich und endlich schnell genug… Ich muss Digital-IO und Analog-IO Karten samplen, GUI machen und den Prüfablauf durchfahren… – Kann ich vielleicht für die Ausgabe auf nen Drucker LaTeX nebenher laufen lassen? Fragen über Fragen…mal sehen ob ich das durchsteh… vor allem da das Semester bald wieder losgeht… Grüße und vielen Dank für die Hilfe! Dennis
> Weiß auch nicht was mich da geritten hat! Wahrscheinlich die
> zu frühe Euphorie *G* Ist auch wie ich gemerkt habe ne Menge Arbeit!
Erzähl’ mal was zum Hintergrund des Projekts. Evtl. sollten wir das per
Mail weiterdiskutieren, da es hier doch ein bißchen Off-Topic ist. Melde
Dich doch einfach mal (r.schwebel@pengutronix.de).
> – Ich brauch noch ne geeigente Basisdistr – SuSE ist da eher
> ungeeignet.
> – Wie setz ich das System auf, damit es einfach zu betreiben
> ist und “idiotensicher”
Evtl. hab’ ich auch da was passendes für Dich.
> – Wird das ganze schließlich und endlich schnell genug…
> Ich muss Digital-IO und Analog-IO Karten samplen, GUI machen und
> den Prüfablauf durchfahren… – Kann ich vielleicht für die Ausgabe
> auf nen Drucker LaTeX nebenher laufen lassen?
Das kann man alles machen.
> …mal sehen ob ich das durchsteh… vor allem da das Semester
> bald wieder losgeht…
Daraus schließe ich, daß Du noch studierst?
Grüße,
Robert
—
Dipl.-Ing. Robert Schwebel | http://www.pengutronix.de
Pengutronix – Linux Solutions for Science and Industry
Braunschweiger Str. 79, 31134 Hildesheim, Germany
Handelsregister: Amtsgericht Hildesheim, HRA 2686
Phone: +49-5121-28619-0 | Fax: +49-5121-28619-4
Du könntest dir eventuell auch noch ParaGUI ansehen.
LGPL, C++, baut auf SDL auf.
Die Firma, die es entwickelt, macht Systeme im medizinischen Bereich, also nehme ich an, dass es stabil ist.
Ciao, Kevin
wxWindows unterstützt keinen Framebuffer. wXWindows ist lediglich eine Library, die es erlaubt, einen identischen Sourcecodes systemabhängig gegen verschiedene Widget-Bibliotheken zu linken, sodaß man für Windows, MAC OS X oder GTK keine unterschiedlichen Quelltexte für die GUI-Ausgabe braucht.
Eigene Widgets gibt es bei wxWindows nicht. Es werden die vorhandenen System-Klassen genutzt. Für eine Framebuffer-Ausgabe bräuchte wxWindows allerdings etwas in dieser Richtung.