首页| 论坛| 消息

标题:QT是如何处理按键输入的??
作者:anthonymo200
日期:2010-12-11 17:17
内容:

最近开发一个小项目用QT作为gui, 在s3c2410上跑linux+Qt 程序。
第1步: 在qte-3.3.8b/src/embedded目录下建立建立两个文件。
qkbds2410kpad_qws.cpp qkbds2410kpad_qws.h

qkbds2410kpad_qws.h 的内容如下:
#ifndef QKBDS2410KPAD_QWS_H
#define QKBDS2410KPAD_QWS_H
#ifndef QT_H
#include "qkbd_qws.h"
#endif // QT_H
#ifndef QT_NO_QWS_KBD_S2410KPAD
class QWSS2410KpadPrivate;
class QWSS2410KpadKeyboardHandler : public QWSKeyboardHandler
{
public:
QWSS2410KpadKeyboardHandler(const QString&);
virtual ~QWSS2410KpadKeyboardHandler();
private:
QWSS2410KpadPrivate *d;
};
#endif // QT_NO_QWS_KBD_S2410KEYPAD
#endif // QKBDS2410KPAD_QWS_H

qkbds2410kpad_qws.cpp的内容如下:
#include "qkbds2410kpad_qws.h"#ifndef QT_NO_QWS_KBD_S2410KPAD#include <sys/types.h>#include <sys/stat.h>#include <sys/ioctl.h>#include <fcntl.h>#include <termios.h>#include <unistd.h>#include <errno.h>#include <qsocketnotifier.h>class QWSS2410KpadPrivate : public QObject{ Q_OBJECTpublic: QWSS2410KpadPrivate( QWSS2410KpadKeyboardHandler *h, const QString& ); virtual ~QWSS2410KpadPrivate(); bool isOpen() { return buttonFD > 0; }private slots: void[/colo ..


#1 [anthonymo200 12-11 17:24]
第3步:把编译好的库放到ramdisk里面, 烧写到FLASH中。
第3步:加载键盘的驱动程序, 加载成功后, 设备名为/dev/keybutton
第5步:配置QT变量, 首先连接一个设备名 ln -s /dev/keybutton/dev/s2410kpad
export QWS_KEYBOARD=S2410KPAD:/dev/s2410kpad
第6步:使用./Qtapp -qws 运行 Qt应用程序, 但是QT应用程序这边没有任何变化。
有请各位大虾给点建议。 也说说你们的方法。谢谢!
#2 [liyi520181 10-09 10:33]
很好,谢谢了

回复 发表
主题 版块