setFocus一定要寫在setLayout設置的后面,否則不起作用——使用setFocusPolicy為控件設置不同的焦點策略:Tab焦點,Click焦點,Wheel焦點和沒有焦點


    QLineEdit* pEditor = new QLineEdit(m_strText);
    pEditor->resize(.......);
    pEditor->move(........);
    scene()->addWidget(pEditor);
    pEditor->setFocus();
注意紅色字體的倆個語句的順序。若反序,就會出現【QLineEdit怎樣實現獲得焦點時即可輸入】的問題,因為Focus了之后馬上又Out 了,導致不可輸入。

其實也很好理解:一定要放在setLayout的后面,否則還沒有真正顯示,又怎么能設置焦點呢?

-----------------------------------------------------------

另外還有:

this->activateWindow();
pass1_edit->setFocusPolicy(Qt::StrongFocus);

在需要的時候,也要設置


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM