设为首页收藏本站
查看: 26771|回复: 4

如何替换启动时米尔默认的 QT 程序

[复制链接]

231

主题

64

回帖

2145

积分

管理员

积分
2145
玉米糊 发表于 2014-5-23 16:52:22 | 显示全部楼层 |阅读模式
默认情况下,米尔开发板Linux系统的qt程序会调用含有米尔LOGO的一个主界面,在这个界面中,可以调用drilldown、fancybrowser、fontsampler、ftp和masterdetail这几个程序。
下面以MYD-SAMA5D3X和MYD-AM335X开发板为例子,介绍将默认启动程序改自定义程序。

MYD-SAMA5D3X,SAM9X5开发板
相关文件
  • 启动配置文件:/etc/rc.local
  • 主界面程序:/usr/bin/launch
  • QT测试程序目录:/usr/local/qt4.5.3-arm/Examples

步骤
1、打开/etc/rc.local文件
[mw_shl_code=bash,true]vi /etc/rc.local[/mw_shl_code]
2、将11行 launch -qws& 注释,并且在注释语句后面添加自定义的主界面启动程序语句,比如我让系统启动后启动 /usr/local/qt4.5.3-arm/Examples/drilldown 程序,修改完成后rc.local文件如下:
[mw_shl_code=bash,true]# cat rc.local
#!/bin/sh

if [ -e /dev/fb0 ];then
    if [ ! -f /etc/pointercal ];then
        ts_calibrate
        sync
    fi

    source /etc/setqtenv
#    launch -qws&
    /usr/local/qt4.5.3-arm/Examples/drilldown -qws&
#  cd  /usr/local/qt4.5.3-arm/Examples/       #或者使用这两行,可以较好处理路径问题
# ./drilldown&

        insmod /lib/modules/3.6.9/hdmi.ko
fi

## You can run your apps here . They will be launched
## at system startup.[/mw_shl_code]
3、重启开发板。

MYD-AM335X开发板
相关文件
  • 启动配置文件:/etc/init.d/qt.sh
  • 主界面程序: /opt/qt-4.7.1/demos/embedded/fluidlauncher/fluidlauncher
  • QT测试程序目录:/opt/qt-4.7.1/demos
=======================================
qt脚本的引用关系:
/etc/inittab
        /etc/init.d/rcS
                /etc/init.d/rc
                        /etc/init.d/select_pointercal.sh
                        /etc/init.d/qt.sh
                                /etc/setqtenv

inittab引用rcS文件,rcS引用rc文件,以此类推。
=======================================
步骤
1、打开/etc/init.d/qt.sh文件
[mw_shl_code=bash,true]vi /etc/init.d/qt.sh[/mw_shl_code]
2、修改11行、注释17、18行,并且在注释后面添加自定义的主界面启动程序语句,比如,我让系统启动后启动 /opt/qt-4.7.1/demos/mainwindow/mainwindow 程序,则修改成如下内容(修改11行、注释17、18行、添加19行):
[mw_shl_code=bash,true]#!/bin/sh

source /etc/setqtenv

if [ ! -e /etc/pointercal ] ; then
        ts_calibrate
fi

export HOME=/root

base=mainwindow   
pid=`/bin/pidof $base`
if [ -n "$pid" ];then
                killall $base
fi

# cd /opt/qt-4.7.1/demos/embedded/fluidlauncher/
#./fluidlauncher -qws 2>/dev/null&
./opt/qt-4.7.1/demos/mainwindow/mainwindow -qws 2>/dev/null&[/mw_shl_code]


3、重启开发板。

知识普及
1、> /dev/null 表示将命令的标准输出重定向到 /dev/null,2>/dev/null 表示将命令的错误输出重定向到 /dev/null
2、&表示后台执行,你可以继续占有你的输入窗口
3、也就是将1(标准输出)2(标准出错)的信息不现实出来.就是将标准输出和标准出错的信息屏蔽不显示
4、可以屏蔽一些不必让用户看到的信息



回复

使用道具 举报

3

主题

20

回帖

241

积分

中级会员

积分
241
沉沦的夏天 发表于 2015-8-16 22:05:04 | 显示全部楼层
为什么我板子里面的跟你 的qt.sh 不一样?
我的如下:
[mw_shl_code=applescript,true]export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0

export TSLIB_TSDEVICE=/dev/input/event1rt TSLIB_CONFFILE=/usr/local/tslib/etc/tf

export TSLIB_PLUGINDIR=/usr/local/tslib/lib/ts
export TSLIB_CALIBFILE=/etc/pointercal
export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/tslib/lib:/opt/qt-4.8.5/lib
export QT_QWS_FONTDIR=/opt/qt-4.8.5/lib/fonts
export QWS_USB_KEYBOARD=/dev/input/event2
export PATH=/bin:/sbin:/usr/bin/:/usr/sbin:/usr/local/tslib/bin

if grep "hdmi" /proc/cmdline > /dev/null ; then
        export QWS_MOUSE_PROTO="Tslib:/dev/input/event1 MouseMan:/dev/input/mice
else
        export QWS_MOUSE_PROTO="Tslib:/dev/input/event1"
fi

export QWS_DISPLAY=:1
[/mw_shl_code]
回复 支持 反对

使用道具 举报

231

主题

64

回帖

2145

积分

管理员

积分
2145
 楼主| 玉米糊 发表于 2015-8-17 10:09:22 | 显示全部楼层
沉沦的夏天 发表于 2015-8-16 22:05
为什么我板子里面的跟你 的qt.sh 不一样?
我的如下:
[mw_shl_code=applescript,true]export TSLIB_CONS ...

是什么板子?
回复 支持 反对

使用道具 举报

3

主题

20

回帖

241

积分

中级会员

积分
241
沉沦的夏天 发表于 2015-9-1 20:33:10 | 显示全部楼层
我的板子型号是AM3358,用了你们最新的7寸电容屏
回复 支持 反对

使用道具 举报

231

主题

64

回帖

2145

积分

管理员

积分
2145
 楼主| 玉米糊 发表于 2015-9-2 09:26:31 | 显示全部楼层
沉沦的夏天 发表于 2015-9-1 20:33
我的板子型号是AM3358,用了你们最新的7寸电容屏

估计是版本更新后,这部分内容作了调整,你可以按照这个思路搜索
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录

本版积分规则

Archiver|手机版|小黑屋|米尔科技论坛   

GMT+8, 2024-4-20 01:08 , Processed in 0.074621 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表