Qtopia2.2.0下的应用程序

来源:互联网 发布:js 双引号转义 编辑:程序博客网 时间:2024/05/16 07:15

    原来以为Qtopia下的应用程序的开发与单纯的Qt/embedded下开发有很大的差别,后来发现除了加了一个包装基本是一样的。

    首先说明安装的东西,用的是FriendlyARM的ARM9板子,里面的使用手册提供了Qtopia的编译环境及Qt2的designer等设计工具(Qtopia是在Qt2基础上做的,具体的信息可搜下)。

 (一)   具体编译安装Qtopia的过程不说了,只说解压后,Qtopia里有其示例程序,比如example文件下的application,你是直接可以使用如下的语句来执行的:

 

#!/bin/bash

source /opt/FriendlyARM/mini2440/arm-qtopia/qtopia-2.2.0-FriendlyARM/setQpeEnv
qmake -spec /opt/FriendlyARM/mini2440/arm-qtopia/qtopia-2.2.0-FriendlyARM/qtopia/mkspecs/qws/linux-arm-g++ -o Makefile *.pro

make clean
make

 

可以根据你的具体情况编辑安装的目录。编译后生成可执行文件(example),下载到ARM板上,放到Qtopia的bin文件夹下,然后写个简单的.desktop文件,比如example.desktop,如下:

 

[Desktop Entry]
Comment=An Example Program
Exec=example
Icon=Test
Type=Application
Name=Example

 

      其中加粗的就是你的可执行文件名,对于想要图标的,可以将图标名为Test的仿照Qtopia下的其他程序一样,在pic文件夹建立自己的应用程序文件夹。好了,重启Qtopia,或者重启板子。即可看到自己的应用程序。(即使没有具体的应用程序.desktop也会出现的)

(二)在Qtopia下程序开发,就是多了一个最开始进行初始化的类,你把你的Qt下的程序作为一个对象,在初始化类中调用就可以了,如Qtopia中的main.cpp可以如下:

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

QTOPIA_ADD_APPLICATION("example",ExampleTest)
QTOPIA_MAIN

注意其中的对应关系,在test.cpp中,类Example是包装你原来Qt程序后的类。如果你直接使用上面example例子,那就直接使用就可以了。

(三)那么在designer(Qt的ui设计器)中设计了自己的界面,怎么使用到应用程序中呢。

       1.可以在.pro的项目文件中加入,就是有个INTERFACES=**.ui(**就是你的ui名字),而在你的程序中所要使用的类名等则是在设计ui时自己设置的,如一般的都是designer中Form1就是其中之一。然后再建自己需要的类继承ui类,加入所需要的信号、槽。

       2.可以导出ui的类,即使用uic  

          一个具体命令,自己就可以理解了:uic -o my.h  test.ui可以生成所需要的.h文件,uic -i my.cpp -o test.ui可以生成my.cpp文件,然后再在其中直接加入自己的信号、槽函数等(不建议,以后不方便该ui了),或者同上,继承生成的类。导出的好处是可以清楚的看到你的ui中类的名字等其他信息。

 

 

好了,就写这么些了,写得乱,也不好,关键自己没有写过Qt程序,直接在Qtopia下写了,给自己留个记录,以后可以参考。

原创粉丝点击