资源简介
两套qt模拟键盘程序,一个可以用于所有的平台,包括嵌入式,另外一个只能用于嵌入式中。目前两个程序不支持中文输入。

代码片段和文件信息
#include l/QDomDocument>
#include l/QDomElement>//It‘s the case you have to pay attention
#include
#include
#include
#include
#include “ipmethod.h“
#include “inputwidget.h“
InputWidget::InputWidget(IPMethod *ipcQWidget *parent)
:QWidget(parent Qt::Tool|Qt::framelessWindowHint)
//: QWidget(parent Qt::Tool | Qt::WindowStaysOnTopHint)
lastFocusedWidget(0)
{
inputform=new Ui::MyInputPanelForm;
inputform->setupUi(this);
btns=findChildren();
btns_sz=btns.size();
xml_accu=0;
loadDoc();
num_caps();
setKBcharacter();
connect(qApp SIGNAL(focusChanged(QWidget*QWidget*))
this SLOT(saveFocusWidget(QWidget*QWidget*)));
myMapping();
connect(thisSIGNAL(sendStr(QString))ipcSLOT(PreeditContent(QString)));
connect(thisSIGNAL(sendInt(int))ipcSLOT(intSlot(int)));
should_move=false;
}
void InputWidget::loadDoc()
{
doc=new QDomDocument(“keydoc“);
QFile file(“:/keyboard.xml“);
if(!file.open(QIODevice::ReadOnly))
{
qDebug()<<“xml file does not exist“;
return;
}
bool namespaceProcessing=false;
QString *errorMsg = new QString();
int errorLine=0;
int errorColumn=0;
QTextStream stream(&file);
if(!doc->setContent(stream.readAll()namespaceProcessingerrorMsg&errorLine&errorColumn))
{
qDebug()<<“can not set content“;
qDebug()<<“namespaceProcessing“< qDebug()<<“errormsg“<toAscii();
qDebug()<<“errorLine“< qDebug()<<“errorColomn“< return;
}
}
//--------------get num and caps keys‘ state--------------
void InputWidget::num_caps()
{
bool OK;
int caps_tmpnum_tmp;
//---------------get keys‘ nr in xml----------------------------
for(QDomNode n=doc->documentElement().firstChild();(!n.isNull());n=n.nextSibling())
{
xml_accu+=1;
if(n.toElement().attribute(“text“).contains(“CAPS“))
{
caps_tmp=n.toElement().attribute(“nr“).toInt(&OK);
continue;
}
if(n.toElement().attribute(“text“).contains(“NUM“))
{
num_tmp=n.toElement().attribute(“nr“).toInt(&OK);
continue;
}
}
for(int i=0;i {
if(btns[i]->objectName().remove(“pushButton_“).toInt(&OK)==caps_tmp)
{
btns[i]->setCheckable(true);
btns[i]->setChecked(false);
caps=i;
continue;
}
if(btns[i]->objectName().remove(“pushButton_“).toInt(&OK)==num_tmp)
{
btns[i]->setCheckable(true);
btns[i]->setChecked(false);
num=i;
continue;
}
}
}
QString InputWidget::getKe
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 41944 2012-06-11 17:24 键盘\平台通用\YA_key\YA_key.pro.user
文件 80447 2012-06-08 16:18 键盘\平台通用\YA_key\YA_key
文件 2189 2012-06-08 16:18 键盘\平台通用\YA_key\mainform.ui
文件 406 2012-06-11 11:46 键盘\平台通用\YA_key\src.qrc
文件 11767 2012-06-08 16:18 键盘\平台通用\YA_key\Makefile
文件 8013 2012-06-08 16:18 键盘\平台通用\YA_key\Makefile.Debug
文件 9396 2012-06-11 17:17 键盘\平台通用\YA_key\myinputpanel.cpp
文件 465 2012-06-08 16:18 键盘\平台通用\YA_key\YA_key.pro
文件 2081 2012-06-08 16:18 键盘\平台通用\YA_key\keyboard.xm
文件 22686 2012-06-08 16:18 键盘\平台通用\YA_key\myinputpanelform.ui
文件 2867 2012-06-08 16:18 键盘\平台通用\YA_key\myinputpannelcontext.cpp
文件 1497 2012-06-11 10:43 键盘\平台通用\YA_key\snapshot.png
文件 8137 2012-06-08 16:18 键盘\平台通用\YA_key\Makefile.Release
文件 718 2012-06-08 16:18 键盘\平台通用\YA_key\myinputpannelcontext.h
文件 1248 2012-06-11 17:17 键盘\平台通用\YA_key\myinputpanel.h
文件 479 2012-06-11 09:59 键盘\平台通用\YA_key\main.cpp
文件 2070 2012-06-08 16:18 键盘\平台通用\YA_key\bak\keyboard.xm
文件 3586 2012-06-09 16:44 键盘\平台通用\YA_key\img\up.png
文件 3584 2012-06-09 16:44 键盘\平台通用\YA_key\img\Thumbs.db
文件 3641 2012-06-09 16:55 键盘\平台通用\YA_key\img\left.png
文件 3651 2012-06-09 17:00 键盘\平台通用\YA_key\img\right.png
文件 3657 2012-06-09 16:58 键盘\平台通用\YA_key\img\down.png
文件 1191 2012-06-08 16:18 键盘\平台通用\YA_key\image\&.png
文件 4286 2012-06-08 16:18 键盘\平台通用\YA_key\image\left.ico
文件 4286 2012-06-08 16:18 键盘\平台通用\YA_key\image\up.ico
文件 9728 2012-06-08 16:18 键盘\平台通用\YA_key\image\Thumbs.db
文件 4286 2012-06-08 16:18 键盘\平台通用\YA_key\image\right.ico
文件 4286 2012-06-08 16:18 键盘\平台通用\YA_key\image\down.ico
文件 3911 2012-06-08 16:18 键盘\平台通用\YA_key\debug\moc_myinputpanel.cpp
文件 180992 2012-06-08 16:18 键盘\平台通用\YA_key\debug\moc_myinputpannelcontext.o
............此处省略64个文件信息
- 上一篇:EW430-7121-Autorun注册机
- 下一篇:安卓浏览器app
相关资源
- Micrium.RTOS.1.0.0.pack
- ISE_14.7_license.lic
- stm32f103c8t6 4 oled.rar
- mpu6050+hmc5883L.rar
- 嵌入式图形界面MiniGUI的示例程序9例
- ARM嵌入式项目实战
- uCOS编译环境建立 BC45 TASM
- stm32 用SPI 方式读写 SDHC
- 自动售货机的内部嵌入式系统
- 51单片机中使用ucos ii的优缺点
- 嵌入式实时操作系统ucos-II 第二版 源
- 基于串口设备的嵌入式Web服务器系统
- 基于LW IP的嵌入式串口服务器的设计与
- 一种嵌入式串口共享服务器的设计
- 21天学会嵌入式开发STM32.zip
- 嵌入式智能平台为城市一卡通打造智
- 研祥“EVOC”嵌入式智能平台在
- ARM7TDMI-S在嵌入式系统中的Bootloader代码
- LPC2000系列微控制器应对嵌入式需求
- 嵌入式实时操作系统μC/OS-II与eCos的
- 基于STM32的嵌入式双目图像采集系统设
- 嵌入式实时操作系统在DATU中的应用
- 嵌入式实时操作系统μC/OS-II下通用驱
- 嵌入式实时操作系统μC/OS-II在ARM上的
- 嵌入式操作系统的解析
- SAC型液压支架控制器检测平台的设计
- 一种用ARM7+UC/OS-II设计的信号采集系统
- 最简单的平衡小车
- 基于ARM的电子相册源码含动态库可运
- 嵌入式工程师周报 项目管理 甘特图
评论
共有 条评论