main.cpp
#include <QtGui/QApplication>
#include "keyboard.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
keyboard w;
w.show();
return a.exec();
}
keypad.cpp
#include "keyboard.h"
#include "ui_keyboard.h"
#include <QSignalMapper>
#include <QPushButton>
#include <QGridLayout>
#include <QLineEdit>
keyboard::keyboard(QWidget *parent)
: QWidget(parent), ui(new Ui::keyboard)
{
ui->setupUi(this);
setupkeyboard();
}
keyboard::~keyboard()
{
delete ui;
}
void keyboard::setupkeyboard (void) {
QString keys[4][9] = {
{ "1", "2", "3", "4", "5", "6", "7", "8", "9" },
{ "0", "A", "B", "C", "D", "E", "F", "G", "H" },
{ "I", "J", "K", "L", "M", "N", "O", "P", "Q" },
{ "R", "S", "T", "U", "V", "W", "X", "Y", "Z" }
};
QSignalMapper *signalMapper = new QSignalMapper;
connect(signalMapper, SIGNAL(mapped(const QString&)),
this, SIGNAL(keySelected(const QString&)));
QGridLayout *layout = new QGridLayout;
lineedit2=new QLineEdit;
lineedit2=ui->lineedit1;
setLayout(layout);
for (int i = 0; i < 4; ++i) {
for (int j = 0; j < 9; ++j) {
QPushButton *button = new QPushButton(keys
[j]);
connect(button, SIGNAL(clicked()), signalMapper, SLOT(map()));
signalMapper->setMapping(button, keys[i][j]);
layout->addWidget(button, i, j);
}
}
//lineedit2->;
}
keypad.h
#ifndef KEYBOARD_H
#define KEYBOARD_H
#include <QtGui/QWidget>
#include <QLineEdit>
namespace Ui
{
class keyboard;
}
class keyboard : public QWidget
{
Q_OBJECT
public:
keyboard(QWidget *parent = 0);
~keyboard();
Q_SIGNALS:
void keySelected (const QString& key);
private:
Ui::keyboard *ui;
private:
QLineEdit *lineedit2;
private slots:
void setupkeyboard();
};
#endif // KEYBOARD_H
[/i]