setFocus一定要写在setLayout设置的后面,否则不起作用——使用setFocusPolicy为控件设置不同的焦点策略:Tab焦点,Click焦点,Wheel焦点和没有焦点

时间:2022-02-15 07:57:50

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);

在需要的时候,也要设置