我遇到了QLineEdit的问题。即使我将标签顺序设置为从此行编辑开始,一旦加载屏幕,LIne Edit将不会自动获得焦点。
我也试过这两行:
this->activateWindow();
this->lineEdit_password->setFocus();
但这仍然没有效果。 所以也许有人经历过同样的问题......
先谢谢你的帮助, 鲍里斯
答案 0 :(得分:8)
另一种解决方案是使用singleShot计时器:
QTimer::singleShot(0,lineEdit,SLOT(setFocus()));
一旦应用程序空闲,将设置焦点。 鲍里斯。
答案 1 :(得分:2)
非常感谢Krsna,覆盖qwidget的showEvent()将会起作用:
void OScreenLogin::showEvent(QShowEvent* e){
this->activateWindow();
this->lineEdit_password->setFocus();
QWidget::showEvent(e);
}
lineEdit获得焦点,我猜其他小部件在这两行之后设置了焦点。 再次感谢, 鲍里斯