• 8148阅读
  • 1回复

qt应用程序移植并建立桌面图标后的遇到的问题 [复制链接]

上一主题 下一主题
离线axin20
 
只看楼主 倒序阅读 楼主  发表于: 2009-01-21
— 本帖被 XChinux 执行加亮操作(2009-02-05) —
先说明我用的环境
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目录下。
我是这样制作应用程序桌面图标的。

大家给点意见呀,急用。
离线anmyt521
只看该作者 1楼 发表于: 2012-03-05
改一下主函数。如下:
#include <qapplication.h>
#include <qpushbutton.h>
#include <qwindowsstyle.h>
#include <qpe/qpeapplication.h>

int main( int argc, char **argv )
{
    QPEApplication a( argc, argv );
    QPushButton hello( "Hello world!", 0 );
    hello.resize( 100, 30 );
    a.setMainWidget( &hello );
        QApplication::setStyle(new QWindowsStyle);
    hello.show();
    return a.exec();
}
快速回复
限100 字节
 
上一个 下一个