我正在开发一个cpp / Qt工具。
当我点击一个QLineEdit字段时,它的框架变成另一种颜色,光标开始闪烁。
当我输入时在现场返回时,我希望它的光标停止闪烁,其帧颜色默认恢复正常。
我可以拦截Return Pressed,但是当我启动clearFocus()命令时,键盘输入不再出现在QLineEdit字段中(这是我期望的行为),但它的帧不会恢复为默认颜色,并且光标继续闪烁。如何真正从场上移除焦点(即:没有光标闪烁,框架回到默认颜色)?
===编辑===
这是代码:
void myQLineEditClass::keyPressEvent(QKeyEvent *e)
{
if(e->text().length()>0)
{
int asciiVal = e->text().at(0).toAscii();
if (asciiVal==3||asciiVal==13)
{
MGlobal::displayInfo(MQtUtil::toMString(QString().sprintf("Focus cleared"))); // -> this is properly displayed
clearFocus();
}
}
QLineEdit::keyPressEvent(e);
}
感谢。