把上面的程序改了一下,可以用了,,不过启动的时候屏幕不是全部一种颜色,,突出qt4时,启动qtopia有点慢,,qt4-starter是怎么实现的qtopia启动很开,,,肯定qtopia没有被kill掉
.................................................................
mai.c
#include <qtopia/qpeapplication.h>
#include "ServerApplication.h"
#include <stdlib.h>
int main(int argc, char **argv )
{
QApplication a(argc, argv);
ServerApplication *app=new ServerApplication(argc,argv,QApplication::GuiServer);
app->exec();
app->quit();
::system("source /bin/qtopia &");
}
......................................................
ServerApplication.h
#if!defined(_SERVERAPPLICATION_H_)
#define _SERVERAPPLICATION_H_
#include "qtopia/qpeapplication.h"
#include <qtimer.h>
class ServerApplication: public QPEApplication
{
Q_OBJECT
public:
ServerApplication(int &argc,char **argv,Type t);
~ServerApplication();
public slots:
void timeout();
};
#endif
......................................................
ServerApplication.cpp
#include "ServerApplication.h"
#include <unistd.h>
#include <stdlib.h>
ServerApplication::ServerApplication(int& argc,char **argv,Type t )
: QPEApplication( argc, argv, t )
{
QTimer *timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(timeout()) );
timer->start(10 ,true);
}
ServerApplication::~ServerApplication()
{
}
void ServerApplication::timeout()
{
::system("/usr/bin/killall qpe qss quicklauncher");
::system("/bin/myCom");
}
...........................................
myCom-starter.pro
CONFIG +=qtopiaapp
CONFIG -=buildQuicklaunch
HEADERS =ServerApplication.h
SOURCES =main.cpp ServerApplication.cpp
TARGET =myCom-starter