资源简介

Qt下实现数字键盘类,直接实例化并bunpad_test->show(),即可使用

资源截图

代码片段和文件信息

#include “numpad.h“
#include “ui_numpad.h“

NumPad::NumPad(QWidget *parent) :
    QDialog(parent)
    ui(new Ui::NumPad)
{
    this->setWindowFlags(Qt::Tool);
    ui->setupUi(this);
    m_pParent=parent;
    signalMapper = new QSignalMapper(this);

    allButtons = findChildren();

    for (int i=0;i        connect(allButtons.at(i) SIGNAL(clicked()) signalMapper SLOT(map()));
        signalMapper->setMapping(allButtons.at(i) allButtons.at(i)->text());
    }
    connect(signalMapper SIGNAL(mapped(const QString &)) this SLOT(doClicked(const QString &)));
}

NumPad::~NumPad()
{
    delete ui;
}

void NumPad::doClicked(const QString & btnname)
{
    bool ok;
    QString str;
    str=“BackSpace“;
    int key_id=btnname.toInt(&ok10)+48;

    if(btnname==“Enter“)
    {
        this->close();
    }
    else if(btnname==“Del“)
    {
        QKeyEvent keyEvent(QEvent::KeyPressQt::Key_BackspaceQt::NoModifier);
        QApplication::sendEvent(m_pParent->focusWidget() &keyEvent);
    }
    else
    {
        QKeyEvent keyEvent(QEvent::KeyPresskey_idQt::NoModifierbtnname.trimmed()false1);
        QApplication::sendEvent(m_pParent->focusWidget() &keyEvent);
        //QMessageBox::about(NULL“About“QString::number(key_id));
    }

}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1348  2014-04-11 23:16  numpad.cpp
     文件         630  2014-04-11 22:30  numpad.h
     文件        9269  2014-04-11 23:16  numpad.ui

评论

共有 条评论