如何保持鼠标焦点一直停留在QLineEdit上?

文章正文
发布时间:2025-11-07 20:42

暂时还没想到更好的方法,先这样处理了。。。。 bool ProtocolManager::eventFilter(QObject *obj, QEvent *event) { if((event->type() == QEvent::MouseButtonPress) ) { //qDebug()<<"obj-----------------"<<obj; if(wFocusPrevious) // 该变量保存了上次焦点所在的部件 { MyLineEdit *temp = qobject_cast<MyLineEdit*>(wFocusPrevious); if(temp) { int isValidValue = 0; //your function to check the value if(isValidValue ) { wFocusPrevious = obj; return false; } else { temp->setFocus(); temp->selectAll(); return true; } } } wFocusPrevious = obj; } return QWidget::eventFilter(obj, event); }