zhx6044的个人主页

http://www.qtcn.org/bbs/u/118368  [收藏] [复制]

zhx6044

  • 12

    关注

  • 4

    粉丝

  • 28

    访客

  • 等级:新手上路
  • 总积分:28
  • 保密,2011-06-21

最后登录:2015-05-27

更多资料

日志

j简单的虚拟键盘(没有用输入法接口类)1

2011-09-25 22:07
    
   第一次发文,大家见笑了。本人学Qt还没3个星期,就跟在老师后面做开发,老师叫做一个简单的虚拟键盘,只用实现大写字母和数字的输入,实现简单的删除功能就行。不废话直接上码O(∩_∩)O~
  #ifndef EDIT_H#define EDIT_H#include<QLineEdit>#include<QObject>#include<QEvent>#include"keyboard.h"class edit:public QLineEdit{    Q_OBJECTpublic:        edit(QWidget *parent = 0);        ~edit();        keyboard* Return(){return board;}        bool eventFilter(QObject *, QEvent *);private:        keyboard *board;};#endif // EDIT_H#include"edit.h"edit::edit(QWidget *parent):QLineEdit(parent){    board=new keyboard(this);    this->installEventFilter(this);    adjustSize();    resize(400, height());    setFocus();    int y;    y=this->y();    if(y<=240)    {        this->Return()->move(100,280);    }    else{        this->Return()->move(100,0);    }}edit::~edit(){    delete board;}bool edit::eventFilter(QObject *obj, QEvent *ev){    if(obj==this)    {            if(ev->type()==QEvent::FocusOut)            {               board->close();               this->setReadOnly(true);                return true;            }            else{                return false;            }}    else {        return edit::eventFilter(obj,ev);    }}#ifndef KEYBOARD_H#define KEYBOARD_H#include <QWidget>#include<QSignalMapper>#include<QLineEdit>namespace Ui {    class keyboard;}class keyboard : public QWidget{    Q_OBJECTpublic:    explicit keyboard(QLineEdit *parent = 0);    ~keyboard();     bool eventFilter(QObject *, QEvent *);public slots:     void doclicked(QString);     void doDel();private:    Ui::keyboard *ui;    QSignalMapper *mapper;    QLineEdit *editor;};#endif // KEYBOARD_H#include "keyboard.h"#include "ui_keyboard.h"keyboard::keyboard(QLineEdit *parent) :    QWidget(parent,Qt::Tool| Qt::WindowStaysOnTopHint|Qt::FramelessWindowHint),editor(parent),    ui(new Ui::keyboard){    ui->setupUi(this);    editor->installEventFilter(this);        editor->setReadOnly(true);        this->hide();        this->setFocusPolicy(Qt::NoFocus);    ui->widget->setMaximumSize(300,150);    ui->widget->setMinimumSize(300,150);    ui->widget->setAutoFillBackground(true);    QPalette palette =ui->widget->palette();    palette.setBrush(QPalette::Window,                         QBrush(QPixmap(":/keymap.PNG").scaled(                                 ui->widget->size(),                                 Qt::IgnoreAspectRatio,                                 Qt::SmoothTransformation)));    ui->widget->setPalette(palette);    mapper=new QSignalMapper(this);    mapper=new QSignalMapper;           mapper->setMapping(ui->pushButton_A,"A");        connect(ui->pushButton_A,SIGNAL(clicked()),mapper,SLOT(map()));        mapper->setMapping(ui->pushButton_B,"B");        connect(ui->pushButton_B,SIGNAL(clicked()),mapper,SLOT(map()));        mapper->setMapping(ui->pushButton_C,"C");        connect(ui->pushButton_C,SIGNAL(clicked()),mapper,SLOT(map()));        mapper->setMapping(ui->pushButton_D,"D");        connect(ui->pushButton_D,SIGNAL(clicked()),mapper,SLOT(map()));        mapper->setMapping(ui->pushButton_E,"E");        connect(ui->pushButton_E,SIGNAL(clicked()),mapper,SLOT(map()));        mapper->setMapping(ui->pushButton_F,"F");        connect(ui->pushButton_F,SIGNAL(clicked()),mapper,SLOT(map()));        mapper->setMapping(ui->pushButton_G,"G");        connect(ui->pushButton_G,SIGNAL(clicked()),mapper,SLOT(map()));        mapper->setMapping(ui->pushButton_H,"H");        connect(ui->pushButton_H,SIGNAL(clicked()),mapper,SLOT(map()));        mapper->setMapping(ui->pushButton_I,"I");        connect(ui->pushButton_I,SIGNAL(clicked()),mapper,SLOT(map()));        mapper->setMapping(ui->pushButton_J,"J");        connect(ui->pushButton_J,SIGNAL(clicked()),mapper,SLOT(map()));        mapper->setMapping(ui->pushButton_K,"K");        connect(ui->pushButton_K,SIGNAL(clicked()),mapper,SLOT(map()));        mapper->setMapping(ui->pushButton_L,"L");        connect(ui->pushButton_L,SIGNAL(clicked()),mapper,SLOT(map()));        mapper->setMapping(ui->pushButton_M,"M");        connect(ui->pushButton_M,SIGNAL(clicked()),mapper,SLOT(map()));        mapper->setMapping(ui->pushButton_N,"N");        connect(ui->pushButton_N,SIGNAL(clicked()),mapper,SLOT(map()));        mapper->setMapping(ui->pushButton_O,"O");        connect(ui->pushButton_O,SIGNAL(clicked()),mapper,SLOT(map()));        mapper->setMapping(ui->pushButton_P,"P");        connect(ui->pushButton_P,SIGNAL(clicked()),mapper,SLOT(map()));        mapper->setMapping(ui->pushButton_Q,"Q");        connect(ui->pushButton_Q,SIGNAL(clicked()),mapper,SLOT(map()));        mapper->setMapping(ui->pushButton_R,"R");        connect(ui->pushButton_R,SIGNAL(clicked()),mapper,SLOT(map()));        mapper->setMapping(ui->pushButton_S,"S");        connect(ui->pushButton_S,SIGNAL(clicked()),mapper,SLOT(map()));        mapper->setMapping(ui->pushButton_T,"T");        connect(ui->pushButton_T,SIGNAL(clicked()),mapper,SLOT(map()));        mapper->setMapping(ui->pushButton_U,"U");        connect(ui->pushButton_U,SIGNAL(clicked()),mapper,SLOT(map()));        mapper->setMapping(ui->pushButton_V,"V");        connect(ui->pushButton_V,SIGNAL(clicked()),mapper,SLOT(map()));        mapper->setMapping(ui->pushButton_W,"W");        connect(ui->pushButton_W,SIGNAL(clicked()),mapper,SLOT(map()));        mapper->setMapping(ui->pushButton_X,"X");        connect(ui->pushButton_X,SIGNAL(clicked()),mapper,SLOT(map()));        mapper->setMapping(ui->pushButton_Y,"Y");        connect(ui->pushButton_Y,SIGNAL(clicked()),mapper,SLOT(map()));        mapper->setMapping(ui->pushButton_Z,"Z");        connect(ui->pushButton_Z,SIGNAL(clicked()),mapper,SLOT(map()));        mapper->setMapping(ui->pushButton_0,"0");           connect(ui->pushButton_0,SIGNAL(clicked()),mapper,SLOT(map()));           mapper->setMapping(ui->pushButton_1,"1");           connect(ui->pushButton_1,SIGNAL(clicked()),mapper,SLOT(map()));           mapper->setMapping(ui->pushButton_2,"2");           connect(ui->pushButton_2,SIGNAL(clicked()),mapper,SLOT(map()));           mapper->setMapping(ui->pushButton_3,"3");           connect(ui->pushButton_3,SIGNAL(clicked()),mapper,SLOT(map()));           mapper->setMapping(ui->pushButton_4,"4");           connect(ui->pushButton_4,SIGNAL(clicked()),mapper,SLOT(map()));           mapper->setMapping(ui->pushButton_5,"5");           connect(ui->pushButton_5,SIGNAL(clicked()),mapper,SLOT(map()));           mapper->setMapping(ui->pushButton_6,"6");           connect(ui->pushButton_6,SIGNAL(clicked()),mapper,SLOT(map()));           mapper->setMapping(ui->pushButton_7,"7");           connect(ui->pushButton_7,SIGNAL(clicked()),mapper,SLOT(map()));           mapper->setMapping(ui->pushButton_8,"8");           connect(ui->pushButton_8,SIGNAL(clicked()),mapper,SLOT(map()));           mapper->setMapping(ui->pushButton_9,"9");           connect(ui->pushButton_9,SIGNAL(clicked()),mapper,SLOT(map()));           connect(ui->pushButton_point,SIGNAL(clicked()),mapper,SLOT(map()));           mapper->setMapping(ui->pushButton_point,".");           connect(ui->pushButton_del,SIGNAL(clicked()),this,SLOT(doDel()));           connect(mapper,SIGNAL(mapped(QString)),this,SLOT(doclicked(QString)));           connect(ui->pushButton_ok,SIGNAL(clicked()),this,SLOT(close()));}keyboard::~keyboard(){    delete ui;}bool keyboard::eventFilter(QObject *obj, QEvent *ev){    if(obj==editor){    if(ev->type()==QEvent::MouseButtonPress){           this->show();           editor->setReadOnly(false);           return true;       }       else{           return false;   }}   else {       return keyboard::eventFilter(obj,ev);   }}void keyboard::doclicked(QString obj){    QString text=editor->text();       text+=obj;       editor->setText(text);}void keyboard::doDel(){   editor->backspace();}
最后来张图O(∩_∩)O~
图片:
分类:默认分类|回复:0|浏览:2330|全站可见|转载
 

下一篇: 小感受

上一篇:

Powered by phpwind v8.7 Certificate Copyright Time now is:05-19 14:25
©2005-2016 QTCN开发网 版权所有 Gzip disabled