3

I am developing a cpp/Qt tool.

When I click on a QLineEdit field, its frame turns to a different color and the cursor starts blinking.

When I type on Return in the field, I want its cursor to stop blinking and its frame color to default back to normal.

I can intercept the Return Pressed, but when I then start the clearFocus() command, the keyboard input does not come anymore to the QLineEdit field (which is the behaviour I am expecting), but its frame doesn't go back to the default color and the cursor continues blinking. How to really remove focus from the field (i.e.: No cursor blinking anymore and frame back to default color) ?

=== EDIT ===
Here is the code:

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);
}

Thanks.

Laurent Crivello
  • 3,809
  • 6
  • 45
  • 89

0 Answers0