//热键编辑操作
bool SettingsConfigDialog::eventFilter(QObject* watched, QEvent* event)
{
Q_UNUSED(watched);
if(event->type() == QEvent::KeyPress)
{
QKeyEvent* keyEvent = static_cast<QKeyEvent*>(event);
if (keyEvent->key() == Qt::Key_Backspace)
{
return false;
}
if(keyEvent->isAutoRepeat())return true;
QString context = ui->lineEdit_currentKey->text();
if(!context.isEmpty()&&context.at(context.size()-1)!="+")
{
context.append("+");
}
if(keyEvent->modifiers() == Qt::ControlModifier)
{
context.append("Ctrl");
}
else if (keyEvent->modifiers() == Qt::ShiftModifier)
{
context.append("Shift");
}
else if (keyEvent->modifiers() == Qt::AltModifier)
{
context.append("Alt");
}
else if (keyEvent->key() == Qt::Key_Up)
{
context.append("Up");
}
else if (keyEvent->key() == Qt::Key_Down)
{
context.append("Down");
}
else if (keyEvent->key() == Qt::Key_Left)
{
context.append("Left");
}
else if (keyEvent->key() == Qt::Key_Right)
{
context.append("Right");
}
else if (keyEvent->key() == Qt::Key_Tab)
{
context.append("Tab");
}
else if (keyEvent->key() == Qt::Key_CapsLock)
{
context.append("CapsLock");
}
else if (keyEvent->key() == Qt::Key_Space)
{
context.append("Space");
}
else if (keyEvent->key() == Qt::Key_Return)
{
context.append("Enter");
}
else if (keyEvent->key() == Qt::Key_Insert)
{
context.append("Insert");
}
else if (keyEvent->key() == Qt::Key_Delete)
{
context.append("Delete");
}
else if (keyEvent->key() == Qt::Key_Home)
{
context.append("Home");
}
else if (keyEvent->key() == Qt::Key_End)
{
context.append("End");
}
else if (keyEvent->key() == Qt::Key_PageUp)
{
context.append("PgUp");
}
else if (keyEvent->key() == Qt::Key_PageDown)
{
context.append("PgDn");
}
else if (keyEvent->key() == Qt::Key_F1)
{
context.append("F1");
}
else if (keyEvent->key() == Qt::Key_F2)
{
context.append("F2");
}
else if (keyEvent->key() == Qt::Key_F3)
{
context.append("F3");
}
else if (keyEvent->key() == Qt::Key_F4)
{
context.append("F4");
}
else if (keyEvent->key() == Qt::Key_F5)
{
context.append("F5");
}
else if (keyEvent->key() == Qt::Key_F6)
{
context.append("F6");
}
else if (keyEvent->key() == Qt::Key_F7)
{
context.append("F7");
}
else if (keyEvent->key() == Qt::Key_F8)
{
context.append("F8");
}
else if (keyEvent->key() == Qt::Key_F9)
{
context.append("F9");
}
else if (keyEvent->key() == Qt::Key_F10)
{
context.append("F10");
}
else if (keyEvent->key() == Qt::Key_F11)
{
context.append("F11");
}
else if (keyEvent->key() == Qt::Key_F12)
{
context.append("F12");
}
else
{
context.append(keyEvent->text().toUpper());
}
ui->lineEdit_currentKey->setText(context);
return true;
}
return false;
}
网友评论