发现网上这种资料不多,但我发现这对初学者尤其重要,我刚刚接触Qtopia,编了个小程序,希望大家多多指正批评。
我觉得友善的应用程序不开源会增加我们的好奇心,我想这也是他们的初衷,哈哈
希望大家多多讨论,共同进步……
myled.h
#ifndef _MYLED_H_
#define _MYLED_H_
#include <qwidget.h>
class Myled : public QWidget
{
Q_OBJECT
public:
Myled( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
~Myled() {};
public slots: // 自定义的槽
void runled();
private:
void startled();
};
#endif // _MYLED_H_
myled.cpp
#include <qpushbutton.h>
#include <qtopia/qpeapplication.h>
#include <unistd.h>
#include <sys/types.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/ioctl.h>
#include <sys/stat.h>
#include <fcntl.h>
#include "myled.h"
Myled::Myled( QWidget* parent, const char* name, WFlags fl )
{
startled();
}
void Myled::startled()
{
QPushButton* quit = new QPushButton("START", this); //创建按钮
connect(quit, SIGNAL(clicked()), this, SLOT(runled())); //连接槽
}
void Myled::runled()
{
volatile int i, j, k;
int fd=::open("/dev/leds", 0); // 打开设备
for (k=0; k<4; k++)
{
::ioctl(fd, 0, 1);
for (i=0;i<30000;i++)
for (j=0;j<500;j++);
::ioctl(fd, 1, 1);
for (i=0;i<30000;i++)
for (j=0;j<500;j++);
}
::close(fd); // 关闭设备
}
main.cpp
#include "myled.h"
#include <qtopia/qpeapplication.h>
QTOPIA_ADD_APPLICATION("myled",Myled)
QTOPIA_MAIN
myled.pro
CONFIG += qtopiaapp
CONFIG -= buildQuicklaunch
DESTDIR = $(QPEDIR)/bin
HEADERS = myled.h
SOURCES = myled.cpp
SOURCES+=main.cpp
TARGET = myled
myled.desktop
[Desktop Entry]
Comment[]=A LED Program
Exec=myled
Icon=myled
Type=Application
Name=myled
将以上代码放到一个文件夹,然后从hello中copy来build,build一下就欧了
[ 此帖被cole3在2010-01-16 10:10重新编辑 ]