QT使用Popup的小窗口无法显示中文

  • 问题:
    最近在给软件附增权限管理时发现,采用弹出一个具有Popup的小窗口获取账号密码的登录输入信息时,无法输入中文,并不是QLineEdit设置成了不接受中文,而是即使切换到中文输入法也无法打出来中文的弹出信息。

  • 原因:
    不太明确,网上认为是Qt::Popup属性可能存在bug

  • 解决方式(网上查到两种):

  1. 在小窗口setWindowFlags(Qt::Popup)时改为setWindowFlags(Qt::Popup | Qt::Sheet),缺点是这样操作后,点击小窗口以外的地方不能让小窗口进行隐藏操作
  2. 在每次调用小窗口show()函数之后,再调用函数activateWindow()激活窗口,这样可以解决方法一产生的矛盾

你可能感兴趣的:(QT问题)