如何从QLineEdit中删除焦点

时间:2015-05-23 17:00:39

标签: c++ qt focus qlineedit

我正在开发一个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);
}

感谢。

0 个答案:

没有答案