QT QLineEdit焦点和键盘问题

QLineEdit焦点和键盘问题

今天主要讨论如何使输入框失去焦点后键盘自动退出。 window 平板开发发现一个问题,当界面有输入框时,系统键盘弹出和隐藏不正确。
正常情况,进入界面输入框处于焦点状态,键盘弹出或者隐藏,点击输入框键盘弹出,点击非输入框区域键盘隐藏,退出界面键盘隐藏。
实际使用过程发现,首次进入界面,输入框处于焦点状态,键盘没有弹出,点击输入框键盘弹出,但是点击非输入框区域键盘并不隐藏,退出界面键盘有时隐藏有时弹出。

个人给出两个解决方案
第一通过界面监控事件,发现有点击事件主动清除输入框焦点,设置界面为焦点状态。(输入框不能把鼠标点击事件返回给父窗口)

bool XXXView::event(QEvent *ev)
{
	switch (ev->type())
	{
	case QEvent::MouseButtonRelease:
		this->setFocus();
		break;

	default:break;
	}

	return QWidget::event(ev); // 最后将事件交给上层对话框
}

方案二:设置界面获取焦点监控为点击获取焦点

this->setFocusPolicy(Qt::ClickFocus);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值