Qt顯示界面旋轉


開發中有時需要這樣顯示


這時就要用到Qt的旋轉. 


Qt提供了插件來支持旋轉顯示. 在Qt編譯的時候添加編譯選項 -qt-gfx-transformed . 我的配置文件為:

# !bin/bash
./configure -prefix /opt/qtenv/Qt-4.8.4-arm \
-opensource \
-confirm-license \
-force-pkg-config \
-embedded arm \
-xplatform qws/linux-arm-g++ \
-platform /qws/linux-x86-g++ \
-little-endian \
-host-little-endian \
-shared \
-no-qt3support \
-no-phonon -no-phonon-backend \
-qt-zlib \
-no-gif \
-no-libtiff \
-qt-libjpeg \
-no-nis \
-no-cups \
-no-webkit \
-no-glib \
-no-dbus \
-no-rpath \
-no-mmx -no-3dnow \
-no-sse -no-sse2 -no-sse3 -no-ssse3 -no-sse4.1 -no-sse4.2 \
-no-avx -no-neon \
-no-audio-backend \
-no-svg \
-no-javascript-jit \
-no-script \
-no-scripttools \
-no-multimedia \
-no-openssl \
-nomake tools \
-qt-mouse-pc -qt-mouse-tslib \
-qt-gfx-transformed \
-I/usr/local/tslib/include \
-L/usr/local/tslib/lib
另外可以加上 -no-demos來縮短編譯時間.



編譯出來的程序如果要旋轉顯示有兩種方法(以下都在開發板上操作):

方法1:在運行時加上旋轉的參數, 如

./hello -qws -display "transformed:rot90:linuxfb:0"
方法2:在環境變量中添加參數, 如

export QWS_DISPLAY=transformed:rot90:linuxfb:0
然后再執行的時候就可以不帶-display參數了
./hello -qws




另外我的qt環境變量所有內容:

export QWS_DISPLAY=LinuxFb:/dev/fb0
export QWS_SW_CURSOR=1
export QWS_MOUSE_PROTO="tslib:/dev/input/event1"
#export QWS_MOUSE_PROTO="tslib:/dev/input/event2"
# IntelliMouse:/dev/input/mice"
#export QWS_KEYBOARD=TTY:/dev/tty0
export QT_ONSCREEN_PAINT=0


export QT_ONSCREEN_PAINT=0
export QTDIR=/opt/qtenv/Qt-4.8.4-arm$QTDIR
export LD_LIBRARY_PATH=/opt/qtenv/Qt-4.8.4-arm/lib:$LD_LIBRARY_PATH
export QT_QWS_FONTDIR=/opt/qtenv/Qt-4.8.4-arm/lib/fonts
export QWS_DISPLAY=transformed:rot90:linuxfb:0


tslib的環境變量所有內容:

export T_ROOT=/usr/lib
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_TSDEVICE=/dev/input/event1
#export TSLIB_TSDEVICE=/dev/input/event2
export TSLIB_PLUGINDIR=$T_ROOT/ts
export TSLIB_CONFFILE=/etc/ts.conf
export TSLIB_CALIBFILE=/etc/pointercal



另外再插一句題外話, 上圖中的lcd在調試的時候發現顏色不對, 剛開始懷疑是不是引腳接反了或者驅動中RGB反了, 但是查了之后發現引腳順序正常. 最后經指導發現屏幕的20pin必須接地. 屏幕型號為TM150TDS50  天馬15寸 1024x768


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
  © 2014-2022 ITdaan.com 联系我们: