Qt显示界面旋转

来源:互联网 发布:渲染软件哪个好 编辑:程序博客网 时间:2024/05/16 11:11

开发中有时需要这样显示


这时就要用到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/fb0export QWS_SW_CURSOR=1export QWS_MOUSE_PROTO="tslib:/dev/input/event1"#export QWS_MOUSE_PROTO="tslib:/dev/input/event2"# IntelliMouse:/dev/input/mice"#export QWS_KEYBOARD=TTY:/dev/tty0export QT_ONSCREEN_PAINT=0export QT_ONSCREEN_PAINT=0export QTDIR=/opt/qtenv/Qt-4.8.4-arm$QTDIRexport LD_LIBRARY_PATH=/opt/qtenv/Qt-4.8.4-arm/lib:$LD_LIBRARY_PATHexport QT_QWS_FONTDIR=/opt/qtenv/Qt-4.8.4-arm/lib/fontsexport QWS_DISPLAY=transformed:rot90:linuxfb:0


tslib的环境变量所有内容:

export T_ROOT=/usr/libexport TSLIB_CONSOLEDEVICE=noneexport TSLIB_FBDEVICE=/dev/fb0export TSLIB_TSDEVICE=/dev/input/event1#export TSLIB_TSDEVICE=/dev/input/event2export TSLIB_PLUGINDIR=$T_ROOT/tsexport TSLIB_CONFFILE=/etc/ts.confexport TSLIB_CALIBFILE=/etc/pointercal



另外再插一句题外话, 上图中的lcd在调试的时候发现颜色不对, 刚开始怀疑是不是引脚接反了或者驱动中RGB反了, 但是查了之后发现引脚顺序正常. 最后经指导发现屏幕的20pin必须接地. 屏幕型号为TM150TDS50  天马15寸 1024x768

0 0