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、增加容错,增加定时器,显示时启动,超时检测鼠标位置是否处于当前窗口,做出是否隐藏的操作;
版权声明:本文为u013495598原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。