예제 #1
0
 void MyInputPanel::buttonClicked(QWidget *w)
 {
     QPushButton *pushbtn = (QPushButton*)w;
     QString btntext = pushbtn->text();
     QChar chr;
     if(btntext == "Num")
     {
          chr = '*';
          SwithToNum();
     }
     else if ( btntext == "Enter")
     {
         chr = '~';
         SwithToNum();
     }
     else if (btntext == "Clear")
     {
         chr = '%';
     }
     else if (btntext == "Back")
     {
         chr = '^';
     }
     else if (btntext == "Blank")
     {
         chr = ' ';
     }
     else
     {
         chr = *btntext.data();
     }

     cout << "Current push button is " << btntext.toStdString() << endl;
     emit characterGenerated(chr);
 }
예제 #2
0
int MyInputPanel::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
    _id = QWidget::qt_metacall(_c, _id, _a);
    if (_id < 0)
        return _id;
    if (_c == QMetaObject::InvokeMetaMethod) {
        switch (_id) {
        case 0: characterGenerated((*reinterpret_cast< QChar(*)>(_a[1]))); break;
        case 1: BackSpaceSignal(); break;
        case 2: EnterSignal(); break;
        case 3: saveFocusWidget((*reinterpret_cast< QWidget*(*)>(_a[1])),(*reinterpret_cast< QWidget*(*)>(_a[2]))); break;
        case 4: buttonClicked((*reinterpret_cast< QWidget*(*)>(_a[1]))); break;
        case 5: Backspace(); break;
        case 6: Enter(); break;
        default: ;
        }
        _id -= 7;
    }
    return _id;
}
예제 #3
0
파일: myinputpanel.cpp 프로젝트: Afreeca/qt
void MyInputPanel::buttonClicked(QWidget *w)
{
    QChar chr = qvariant_cast<QChar>(w->property("buttonValue"));
    emit characterGenerated(chr);
}
MyInputPanelContext::MyInputPanelContext()
{
    inputPanel = new MyInputPanel;
    connect(inputPanel, SIGNAL(characterGenerated(QChar)), SLOT(sendCharacter(QChar)));
}