Qt中使QLineEdit点击获取焦点,点击别的地方失去焦点

要使用到过滤器

bool eventFilter(QObject *wcg, QEvent *event);//事件过滤

在使用之前要为控件安装事件过滤器

ui->lEt_Autograph->installEventFilter(this);

this->installEventFilter(this);

在bool eventFilter(QObject *wcg, QEvent *event)里实现过滤

bool Widget::eventFilter(QObject *wcg, QEvent *event)
{
    //过滤
    if(wcg==this){
        if(event->type() == QEvent::MouseButtonPress){
            if(ui->lEt_Autograph->hasFocus()){
                ui->lEt_Autograph->clearFocus();
            }
        }
    }
    return QWidget::eventFilter(wcg,event);
}
发布了10 篇原创文章 · 获赞 5 · 访问量 4144

猜你喜欢

转载自blog.csdn.net/qq_41594719/article/details/103938974