QLineEdit setFocus失效问题
生活随笔
收集整理的這篇文章主要介紹了
QLineEdit setFocus失效问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
QLineEdit setFocus失效問題
目標效果:
彈窗彈出后,彈窗上的輸入框獲得焦點,以便不必再點擊輸入框就可以直接輸入。
但在我通過一些方式為這個彈窗添加了背景遮罩后,發現輸入框沒有自動獲得焦點了。
最終解決方法
激活彈窗。添加my_window->activateWindow()再setFocus()。
嘗試方法一:
發現失去焦點后,運行了setFocus()函數,但無論加在哪都沒有用,怎么加都沒有用。
嘗試方法二:
查閱一些資料,表示只有控件可見后設置setFocus()才有效。于是我運行
this->show(); ui.lineEdit->setFocus();很顯然沒有用,我的彈窗已經是可見的了。
嘗試方法三(最終解決):
查閱Qt官方文檔,
如果此窗口小部件或其父控件之一是活動窗口,則將鍵盤輸入焦點賦予該控件。
于是激活窗口activateWindow(),問題迎刃而解。
總結
以上是生活随笔為你收集整理的QLineEdit setFocus失效问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: excel取消工作表保护,获取原始密码
- 下一篇: Java-ZZH1-78面试题