• 大小: 1.1MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-29
  • 语言: 其他
  • 标签: 软键盘  嵌入式  arm  

资源简介

两套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.xml

     文件      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.xml

     文件       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个文件信息

评论

共有 条评论