S: Tool zum erstellen einer einfachen GUI Keyboard only (Win / Linux)

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/s-tool-zum-erstellen-einer-einfachen-gui-keyboard-only-win-linux_243172/page_1 - zur Vollversion wechseln!


Kerni schrieb am 08.06.2015 um 07:54

Hi,

Ich suche für ein Car-PC Projekt ein Programm um eine einfache GUI zu erstellen.
Da ich eher der FPGA / C Typ bin, habe ich nicht so den Überblick was mich am schnellsten zu meinem Ziel bringt.

Zu den Anforderungen:

Es sollte sowenig arbeit wie möglich sein :)
Es sollte mit C, C++ ansprechbar sein.
Grafisch muss es nicht unbedingt sein (Console text only würde auch reichen)
Zur Verfügung habe ich einen Raspberry PI oder ein AMD E350 board
Es muss Keyboard only bedienbar sein (der µC gibt sich als USB HID aus)
Ein paar Buttons und Checkboxen(für libvlc)
Ein paar Werte darstellen(zB Öltemperatur, Ladedruck, Beschleunigung) werden vom µC vom Can Bus ausgelesen und per USB Serial übertragen.
Auflösung wird 400x234 Pixel sein.

Folgendes habe ich bereits versucht:
Da ich bereits ein paar kleine Steuerungs GUIs mit GTK+ (Glade) erstellt habe, dachte ich probiers mal damit. Leider habe ich keine Möglichkeit gefunden mir möglichst auffällig den aktuellen Fokus der Buttons anzuzeigen. (google brachte mich auch nicht weiter)
Hier das Ergebnis, man kann es zwar per Keyboard bedienen aber man sieht leider nicht wo sich der Fokus aktuell befindet.

click to enlarge

Hoffe ich habs halbwegs verständlich erklärt was ich brauche :)


-=Willi=- schrieb am 08.06.2015 um 10:00

Ich hätte dir jetzt Glade oder die Qt-Tools vorgeschlagen :D. Du könntest ja jedes klickbare Element in einen eigenen Container mit Innenabstand geben und dann beim onfocus-Event dessen Hintergrundfarbe ändern (oder so). Vielleichts hilfts auch, das GTK-Theme zu ändern. Das ist iirc CSS-basiert und du kannst die gestrichelte Fokuslinie ums Element einfach verbreitern.

Natürlich gibts noch die altehrwürdigen wxWidgets. Ich find sie halt eher "meh" aber vielleichts passen sie dir ja genau rein.

Edit: oder sogar ncurses benutzen :eek:?


t3mp schrieb am 08.06.2015 um 10:31

Qt5 + KDE Frameworks? http://api.kde.org/frameworks-api/frameworks5-apidocs/


Vinci schrieb am 08.06.2015 um 10:39

Kann akurat keine Hilfe anbieten, aber wenn du das Projekt nicht fein säuberlich dokumentiert hier postest, dann find ich dich! :D


11Fire01 schrieb am 08.06.2015 um 23:03

http://zetcode.com/gui/winapi/

hf :D

Edit: aso. aufm pi...


Kerni schrieb am 09.06.2015 um 08:09

Erstmals danke für die Antworten, aufs einfärben beim on focus event wär ich nie gekommen :D
Habs jetzt mal so gelöst das beim focus-in-event einfach die Farbe des Textes des Buttons auf grün geändert wird. Hoffe man siehts später auf dem Display.

click to enlarge

An ncurses dachte ich auch kurz aber da wärs dann wahrscheinlich einfacher gewesen ich löte mir noch einen FPGA mit meinem text mode VGA Core dazu. :)

Zwecks Doku, werd ich im Benzinbrüderforum posten, wenn ich mal Zeit finde alles einzubauen und alles mal soweit funktioniert.
Um was es grob geht: da ich mir die 600€ + Arbeit für eine USB Buchse im Auto nicht leisten will und im vorherigen Auto auch ein Car PC (Aber mit Centrafuse als UI) war, dachte ich mir übernehme ich hald das ganze Zeugs.
Im neuen Auto gibts aber nicht mehr die Möglichkeit einfach einen Touchscreen reinzubauen, also werde ich das Navidisplay verwerden.
Das Navidisplay ist im Kofferraum mit dem Navisteuergerät per VGA verbunden wo ich per Analogswitches dazwischenhänge und per Tastendruck vorne umschalten kann.
Das Auto hat 2 verschiedene CAN Busse, einen schnellen im Motorraum, wo die Motorsteuergeräte draufhängen und einen langsamen wo alles was sich im Innenraum befindet angeschlossen ist (Scheibenheber, alle Tasten, Klima, Airbags :eek: etc).
Am Langsamen CAN Bus hänge ich mit einem µC drauf und höre mit.
Wenn vorne z.B. die Taste für Next Track gedrückt wird, tut das Radio nichts da es ja auf AUX-IN steht, ich kann aber mit dem µC den Tastendruck auswerten um dann bei der libvlc auf den nächsten Track schalten.

Meine Todos dafür sind noch:
Herausfinden wo man den Hirose GT17v 6 pin female und male kaufen kann.
Alles was mit libvlc zu tun hat.
Die Umrechnungsformeln für die zusätzlichen Werte am Bus zu finden(zb. Geschwindigkeit ist die Message mit der einer der IDs des ABS Moduls, Pro Rad ist in einem 8 Byte Datafield ein signed int reserviert. Der signed int muss dann noch durch 80 dividiert werden).
Alles einbauen :)


-=Willi=- schrieb am 09.06.2015 um 09:08

Ja, Text einfärben ist natürlich die bessere Variante zu meiner :D.


Kerni schrieb am 09.06.2015 um 09:33

Naja text einfärben ist gerade schneller gegangen :)
Am navidisplay ist dann sicher eine schwarze umrandung bei dem ausgewählten button sinnvoller




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025