通过发送键盘按下抬起事件,模拟现实中的按键操作,在此之前,要将ui界面的按钮的focusPolicy属性设置成NoFocus,这样鼠标点击它的时候就不会获取焦点,也可以用代码设置
ui->pushButton_1->setFocusPolicy(Qt::NoFocus)
//模拟键盘按键1
void Widget::on_pushButton_9_clicked()
{
QWidget *receiver = QApplication::focusWidget();
QKeyEvent keyPress(QEvent::KeyPress, Qt::Key_1, Qt::NoModifier, QString("1"));
QKeyEvent keyRelease(QEvent::KeyRelease, Qt::Key_1, Qt::NoModifier, QString("1"));
QApplication::sendEvent(receiver, &keyPress);
QApplication::sendEvent(receiver, &keyRelease);
}
//模拟键盘按键2
void Widget::on_pushButton_7_clicked()
{
QWidget *receiver = QApplication::focusWidget();
QKeyEvent keyPress(QEvent::KeyPress, Qt::Key_2, Qt::NoModifier, QString("2"));
QKeyEvent keyRelease(QEvent::KeyRelease, Qt::Key_2, Qt::NoModifier