Qt App auf ARM. Kein Touch & Schrift sehr klein

Verschiedenes zu Qt
Antworten
MaSch
Beiträge: 5
Registriert: 26. Mai 2011 19:56

Qt App auf ARM. Kein Touch & Schrift sehr klein

Beitrag von MaSch »

Hallo,

wir haben es nach langem hin und her geschafft auf ein FriendlyARM Mini2440 QT 4.7.3 inkl. einer selbst geschriebenen Applikation zu installieren.
Das qt wurde (u.a.) mit der -qt-mouse-tslib Flag gebaut. Hier mal alle configure Parameter:

Code: Alles auswählen

 ./configure -embedded arm -little-endian -prefix /home/theuser/Desktop/qt -xplatform qws/linux-arm-g++ -fast -qt-mouse-tslib -nomake examples -qt-gfx-transformed -no-webkit -no-javascript-jit -no-phonon -no-svg -no-multimedia -opensource 
Die so gebaute Librarys haben wir sowohl auf den ARM geschoben als auch zum Bauen der eigenen Applikation genutzt. Jedoch reagiert das Programm nicht auf den Touchscreen.

Fehlt irgendwas oder muss dafür auf dem Gerät vielleicht noch irgendein extra service laufen?
Wenn Qtopia läuft funktioniert dort die Eingabe per Touch Problemlos.

Desweiteren gibts ein Problem mit dem Font. Ich habe im Programm teilweise die Fonts schon absichtlich hoch gesetzt damit alles gut lesbar ist. Andere habe ich noch nicht angepasst. Auf dem Gerät sind jetzt aber alle Texte extrem winzig (=nicht lesbar). Sieht für mich aus wie so 2-4px (Höhe).
Liegt das ebenfalls am Gerät bzw. der dort vorhandenen Linux Installation oder haben wir auch dort etwas übersehen?

mfg

Mark
SamFredericks
Beiträge: 14
Registriert: 19. April 2011 12:44

Beitrag von SamFredericks »

Hi,

soweit ich das richtig verstanden habe wird auf Linux die Treiberbibliothek TSLIB verwendet. Qt soll mit der TSLIB zusammenarbeiten.

Richtig? => Was man beachten müsste, sind so die folgenden Punkte:
- qmake konfigurieren

Code: Alles auswählen

./configure –L<PFAD_ZUR_TSLIB_TARGET_ARCH> –I<PFAD_ZUM_TSLIB_HEADER> -qt-mouse-tslib
- Bibliothek des Touch-Treibers ebenfalls auf das Target kopieren
- Touch kalibrieren. Dies muss nur einmal durchgeführt werden. Hier werden Umgebungsvariablen des Touch-Treibers benötigt.

Code: Alles auswählen

export TSLIB_TSDEVICE=/dev/input/event1
export TSLIB_CALIBFILE=/etc/pointercal        
export TSLIB_CONFFILE=/usr/etc/ts.conf
export TSLIB_PLUGINDIR=/usr/lib/ts
/usr/bin/ts_calibrate
- Ebenfalls beim Start der Qt-Applikation werden Umgebungsvariablen benötigt:

Code: Alles auswählen

export TSLIB_TSDEVICE=/dev/input/event1
export TSLIB_CALIBFILE=/etc/pointercal        
export TSLIB_CONFFILE=/usr/etc/ts.conf
export TSLIB_PLUGINDIR=/usr/lib/ts
export QWS_MOUSE_PROTO=tslib:/dev/input/event1

Generell benutzt qt-embedded auf dem Target Fonts aus dem Ordner qt/lib/fonts. Hier können die jeweiligen Fonts hinterlegt werden. (ggf. Links anlegen)
Bietet das OS bereits eine Freetype-Bibliothek benötigt man diese nicht von qt. Andernfalls muss man Qt extra dafür konfigurieren, eine interne Freetype-Bibliothek mit zu bringen. Auch hier muss die Konfiguration angepasst werden (ob freetype/qpf/none).
Bei *.qpf Fonts muss nur die Konfiguration stimmen.

Ich hoffe ich konnte ein wenig weiterhelfen, noch viel Erfolg :)

Grüße
MaSch
Beiträge: 5
Registriert: 26. Mai 2011 19:56

Beitrag von MaSch »

Tausend Dank, das bauen mit TSLIB hat geklappt.
Jetzt geht's an die Fonts.
MaSch
Beiträge: 5
Registriert: 26. Mai 2011 19:56

Beitrag von MaSch »

Das mit den Fonts ist auch geschafft :D.
Im Endeffekt mussten wir nichts weiter tun als für den Default-Font der Applikation die PixelSize zu setzten.

Vielen Dank für die ausführliche Hilfe!
Antworten