移植Qtopia Core OpenSource 4.3.3到ARM9+Linux平台(3)

把新的文件系统发放到开发板上,上电就可以运行了,但不幸的是有提示错误。

在/usr/local/Trolltech/Qtopia Core-4.3.3-arm/lib/fonts 找不到字体库,解决办法很简单,在你的板子上建立这个文件夹,然后把/opt/qt/lib/fonts下的字体文件移动到你建的文件下:/usr/local/Trolltech/Qtopia Core-4.3.3-arm/lib/fonts 下就可以了。

再重启板子,或直接运行/bin/qtopia,这下就可以看到你的图形界面了吧 ,^_^!

界面上有个鼠标指针,程序中可以把它搞掉,你再点点触摸屏,可能会点不准,那是因为你还没有校准触摸屏,程序运行的时候,也会提示找不到/etc/下的校正参数,所以你需要下载一个校正程序来用  如:tslib-1.3.tar.bz2,下载在  这部分我还没搞定,有时间再弄。

QT4已经出来很长一段时间了,很多开发板上还是QT2的,用过一段时间的QT3,但是我还是推荐使用QT4,因为它实现了真正的跨平台,我在WINDOWS下写的QT程序一点不用改动,直接拷到linux下,编译一下就可以运行了,再交叉编译一下,板子上也能运行,只要不涉及到硬件驱动的调用。

移植后发现一个问题,WINDOWS下能显示的中文,在板子上却显示的乱码,这需要在程序上稍微加一点东西,大多数人的GUI都是带又中文显示的吧?所以举个例子,大家可以再板子上跑跑看

#include &ltQApplication>

#include &ltQPushButton>

#include &ltQTextCodec>

int main(int argc, char *argv[])

{

QApplication app(argc, argv);

QFont f;

f.setFamily("wenquanyi");

f.setPointSize(5);

QTextCodec *code=QTextCodec::codecForName("GBK");

QString uniStr=code-&gttoUnicode("中文");

QPushButton hello(uniStr);

hello.setFont(f);

hello.setText(uniStr);

hello.resize(100, 30);

hello.show();

return app.exec();

}

用 WINCE 确实没有用linux麻烦,但是microsoft的东西都是要米的,一个产品要你几十大米,怎么受的了!米很多,量又大的话用WINCE也不错,米少又喜欢open source的话,可以用LINUX + QT4啊  ^_^  呵呵! 也可以WINCE+QT4,但是我自己觉得没有必要。

这是我移植的时候新的体会,如果写得有错误得地方,请指正。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwpjps.html