先说明我用的环境
pc下:
系统: linux-2.6.20-15-generic
硬件:PC
QT软件包:qt-x11-2.3.2.tar.gz qt-embedded-2.3.10-free.tar.gz qtopia-free-source-2.1.1.tar.bz2 tmake-1.13.tar.gz
交叉编译工具:arm-linux-gcc arm-linux-g++ (版本 3.4.1)
(arm-s3c2410)
QT软件包:3rdparty HostTools qt-embedded-2.3.7 qtopia-free-1.7.0 tmake-1.11
交叉编译工具:arm-linux-gcc arm-linux-g++ (版本 3.4.1)
测试的应用程序 hello.cpp
/****************************************************************
* **
* ** Qt1
* **
* ****************************************************************/
#include <qapplication.h>
#include <qpushbutton.h>
#include <qwindowsstyle.h>
int main( int argc, char **argv )
{
QApplication a( argc, argv );
QPushButton hello( "Hello world!", 0 );
hello.resize( 100, 30 );
a.setMainWidget( &hello );
QApplication::setStyle(new QWindowsStyle);
hello.show();
return a.exec();
}
编译,在pc下用qvfb模拟器运行,正常
交叉编译,在ARM上用命令行 运行,正常
出现的问题:
在ARM上建立hello的桌面图标,点击图标(单击),应用程序图标开始闪(说明正在启动应用程序),程序启动,出现界面。图标还在闪,关了界面,图标仍然在闪。[正常的情况应该是,当且仅当在点击应用程序图标,到应用程序运行的这段时间中,应用程序图标闪]。
出现这种情况,有个严重后果,就是:如果单击应用程序图标,运行程序。后退出应用程序,能退出。但如果双击应用程序图标,等程序运行后,退出程序,程序又自动运行,然后关了它,它又自动运行……,就发现,关不掉它了。
请大家给个意见,如何解决这个问题。
(ARM上自带的应用程序(tt)没有出现这个问题。我把tt,复制一个名为hello的文件,建立的桌面图标也没有这个问题,所以我认为,应该是在应用程序中加一个函数,去处理这个问题。就是希望大家给点意见,该如何加这个函数)
我在ARM上建立桌面图标的步驟如下:
1。把生成的可执行文件 hello 复制到/opt/qtopia/bin目录下。
2。在/opt/qtopia/apps/Application/ 目录下建立左面文件 .desktop
桌面文件内容包括:应用程序的说明、执行程序、程序图标、类型和名称。例如,
文件内容格式如下:
[Desktop Entry]
Comment = An Application Program
Exec = hello 可执行文件的名字hello
Icon = hello2 /pics/目录下 .png 格式的图像文件hello2
Type = Application 文件类型为应用程序
Name = Hello 应用程序的桌面图标的名称为Hello
3。选择一个图片(名称为 Hello)作为应用程序的图标,然后把此图标复制到/opt/qtopia/pics目录下。
我是这样制作应用程序桌面图标的。
大家给点意见呀,急用。