setFocus不能生效的问题
生活随笔
收集整理的這篇文章主要介紹了
setFocus不能生效的问题
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
focusInEvent只有在對象顯示出來的情況下設(shè)定setFocus才可以觸發(fā)。這一點help手冊里有說明:
?
轉(zhuǎn)一篇文章如下:http://blog.csdn.net/alex201030273437/article/details/8193757
focus問題曾經(jīng)困擾了我一些時間。過程中也朋到了很多麻煩。現(xiàn)在總結(jié)一下,希望能夠解決所有關(guān)于focus方面的問題。
????即使setFocus了也不一定有效果。??幫助文檔中說的很清楚,你不能在你的部件還不可見的時候setFocus,這樣不行。解決這個問題的辦法就是把setFocus()的操作放到我們這個部件的showEvent()里面去做。而我們一般可能喜歡放到構(gòu)造函數(shù)最后去setFocus,這樣往往是沒有效果的,問題就在這。??
????另外,我們可能喜歡對一個widget或其派生的部件做setFocus,這也往往是沒有效果的。因為一個widget即使獲取了焦點,如果沒有后續(xù)的處理,你是看不到的。也不會因為你的widget有了焦點,就自動的讓里面的某個子部件,比如按鈕有了焦點。 所以,我們在使用setFocus的時候,一般不要widget->setFocus(),而是button->setFocus()或者label->setFocus()。
????所以,常見的會是這種形式:?
void LoginForm::showEvent(QShowEvent *)
{
????ui->loginButton->setFocus();
}
FROM: ?http://blog.csdn.net/zzwdkxx/article/details/29380689
總結(jié)
以上是生活随笔為你收集整理的setFocus不能生效的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 光通量发光强度照度亮度关系_单位面积光功
- 下一篇: 二叉树的前序遍历、中序遍历、后序遍历