-
问题:
最近在给软件附增权限管理时发现,采用弹出一个具有Popup的小窗口获取账号密码的登录输入信息时,无法输入中文,并不是QLineEdit设置成了不接受中文,而是即使切换到中文输入法也无法打出来中文的弹出信息。 -
原因:
不太明确,网上认为是Qt::Popup属性可能存在bug -
解决方式(网上查到两种):
- 在小窗口setWindowFlags(Qt::Popup)时改为setWindowFlags(Qt::Popup | Qt::Sheet),缺点是这样操作后,点击小窗口以外的地方不能让小窗口进行隐藏操作
- 在每次调用小窗口show()函数之后,再调用函数activateWindow()激活窗口,这样可以解决方法一产生的矛盾