qt 模拟按键消息,在keypressevent中,拦截Delete消息,转为数字0,无效
我在KeypressEvent事件中,当keyvalue=backspace时,转换为left消息,可行。
但是,当keyvalue=delete时,转换为数字0消息,总是无效。
写法如下:
QKeyEvent leftKey(QEvent::KeyPress, Qt::Key_Left, Qt::NoModifier);
QCoreApplication::sendEvent(widget, &leftKey);
使用场景是:在一个QLineEdit扩展类中,使用了InputMask。如果点击了delete,对应位置的数字将会被清掉。因此,我期望当点击backspace时,将当前位置的数据设置为0,然后光标向左移动。当点击delete时,在对应位置填写数字0,而不是把数字清掉。
比如:InputMask=HH:HH:HH:HH:HH时,点击了backspace或者delete后,在LineEdit中,就会显示为:::::。我希望是
00:00:00:00:00:00。
请教,可能是什么原因。