Qt::Popup的使用会导致QTextEdit,TextArea等文本编辑器的焦点丢失。
导致系统中文输入法切换为默认英文输入法。
问题剖析:只有当QTextEdit和设置Popup的窗口为兄弟关系时才会出现,
解决方案:1、调整UI避免出现兄弟关系;2、自定义widget,实现Popup效果
方案2步骤如下:
1、创建widget并设置置顶;
2、通过enterEvent(QEvent *event),leaveEvent(QEvent *event),focusInEvent(QFocusEvent *event)、focusOutEvent(QFocusEvent *event)这四个事件可实现;
3、增加容错,增加定时器,显示时启动,超时检测鼠标位置是否处于当前窗口,做出是否隐藏的操作;