Tiny4412第一个qtopia2.2.0测试程序mycalc

参考资料:Mini6410+Qt4和Qtopia编程开发指南-20110112.pdf

按照参考资料4.1节来进行,由于各人的安装编译环境的位置不一样,有些会和参考资料不一样。

这个文件的截图如下:

源代码下载:http://download.csdn.net/detail/mashang123456789/7344521


一使用designer工具设计界面

(注意:现在还不能输入中文,复制都不行,只能使用系统默认的输入法)

我designer安装# /opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/qt2/bin/designer


这个designer还长了,可以写成一个sh脚本文件

#!/bin/sh

/opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/qt2/bin/designer

Tiny6410的屏幕是7寸,分辨率是800*480,其他的和参考资料一样



二编写代码

2.1main.cpp

#include "main_form.h"
#include <qtopia/qpeapplication.h>

QTOPIA_ADD_APPLICATION("mycalc",TMainForm)
QTOPIA_MAIN

2.2头文件main_form.h

#ifndef __MAIN_FORM_H__
#define __MAIN_FORM_H__

#include "main_form_base.h"
#include <qsocketnotifier.h>


class TMainForm : public TMainFormBase
{
    Q_OBJECT

public:

	TMainForm(QWidget *parent = 0,const char * name=0, WFlags f=WType_TopLevel):
TMainFormBase(parent,name,f){}
	virtual ~TMainForm(){}

public slots:

    void calcButtonClicked();
    void closeButtonClicked();
};

#endif

2.3源文件main_form.cpp

#include "main_form.h"
#include <qlineedit.h>


void TMainForm::calcButtonClicked()
{
    m_result->setText( "" );
    if (m_x->text().isEmpty() || m_y->text().isEmpty()) {
        return ;
    }

    bool ok = false;
    int x = m_x->text().toInt(&ok);
    if (!ok) {
        m_x->setText("");
        return ;
    }

    ok = false;
    int y = m_y->text().toInt(&ok);
    if (!ok) {
        m_y->setText("");
        return ;
    }

    m_result->setText( QString::number( x + y ) );
}

void TMainForm::closeButtonClicked()
{
    close();
}


2.4项目文件mycalc.pro

#-------------------------------------------------

CONFIG		+= qtopiaapp
CONFIG		-= buildQuicklaunch

TARGET = mycalc
#TEMPLATE = app


SOURCES += main.cpp\
        main_form.cpp

HEADERS  += main_form.h

INTERFACES	+= main_form_base.ui


(2.1)生成pc端的测试文件

buildhost.sh

#!/bin/sh

source /opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/setQpeEnv 
qmake -o Makefile.host -spec qws/linux-generic-g++ *.pro 
make -f Makefile.host clean
make -f Makefile.host
执行./buildhost.sh正常情况就可以可执行文件mycalc
PC上测试方法

首先启动qtopia虚拟运行环境,注意启动后不要关闭了

[root@mashang x86-qtopia]# cd /opt/FriendlyARM/mini2440/x86-qtopia/
[root@mashang x86-qtopia]# ./run

再运行x86可执行程序,需要添加运行环境,不然就报错说找不到库,所以我了个export.sh脚本

#!/bin/sh

#/opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/qt2/bin/designer
export QTDIR=/opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/qtopia/image/opt/Qtopia/
export QPEDIR=/opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/qtopia/image/opt/Qtopia/
export HOME=$QPEDIR/root/
export LD_LIBRARY_PATH=$QPEDIR/lib:$LD_LIBRARY_PATH

./mycalc
运行这个脚本即可,这是可以看到mycalc界面了,由于显示的界面只有240*320,所以只显示了一部分,这个只是模拟环境,不影响后续arm程序生成


到这一步说明程序qtopia编写基本没有问题了

三编译生成arm的qtopia2.2.0

(3.1)运行buildarm.sh脚本文件生成arm版本的mycalc
buildarm.sh文件内容如下
#!/bin/sh

source /opt/FriendlyARM/mini2440/arm-qtopia/qtopia-2.2.0-FriendlyARM/setQpeEnv 
qmake -spec qws/linux-arm-g++ -o Makefile.target *.pro 
make -f Makefile.target clean
make -f Makefile.target 
(3.2)下载到tiny4412运行
mycalc程序运行也需要qtopia环境的支持,所以需要写一个run_mycalc,my_mycalc就是把run_my_qtopia最后一行的qpe改成mycalc即可
记得chmod +x mycalc
run_my_qtopia
#!/bin/sh   
export TSLIB_TSDEVICE=/dev/touchscreen-1wire   
export TSLIB_CONFFILE=/etc/ts.conf   
export TSLIB_PLUGINDIR=/usr/lib/ts   
export TSLIB_CALIBFILE=/etc/pointercal   
export QTDIR=/opt/Qtopia   
export QPEDIR=/opt/Qtopia   
export PATH=$QTDIR/bin:$PATH   
export LD_LIBRARY_PATH=$QTDIR/lib:/usr/local/lib:$LD_LIBRARY_PATH   
export QWS_MOUSE_PROTO="TPanel:/dev/input/mice"   
export QWS_KEYBOARD=TTY:/dev/tty1   
export HOME=/root   
exec $QPEDIR/bin/qpe  
最后一行可以在arm版上用vi进行修改,修改后的结果

注意两个程序是放在不同的目录的,mycalc是放在qtopia目录下/opt/Qtopia/bin/mycalc;run_mycalc是放在/bin/下。
运行run_mycalc就可以看到界面了,但是这只是一个程序,下一步就是添加图标了



四在Qtopia上添加程序图标

(4.1)准备图标

可以从系统中拷贝,也可以自己制作,大小是48*48,格式是png即可。注意图片名称mycalc.png,然后放到开发板/opt/Qtopia/pics/


注意:这里图片格式是png,这三个字母是小写,大写arm版不能显示的。

(4.2)编写mycalc.desktop文件

mycalc.desktop

[Translation]
File=QtopiaSettings
Context=mycalc
Comment[Desktop Entry/Name]=Use soft hyphen (char U00AD) to indicate hyphenation
[Desktop Entry]
Exec=mycalc
Icon=mycalc
Type=Application
Name[]=My calculator
CanFastload=0
注意:现阶段只能实现图标中文,及把Name右边的写成中文名称,就可以显示中文图标。
放到 开发板/opt/Qtopia/apps/Applications/


重启开发板后就可以看到图标了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值