Qt 4.5焦点不适用于QLineEdit

时间:2009-06-08 22:24:42

标签: qt4 focus

我遇到了QLineEdit的问题。即使我将标签顺序设置为从此行编辑开始,一旦加载屏幕,LIne Edit将不会自动获得焦点。

我也试过这两行:

this->activateWindow();
this->lineEdit_password->setFocus();

但这仍然没有效果。 所以也许有人经历过同样的问题......

先谢谢你的帮助, 鲍里斯

2 个答案:

答案 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获得焦点,我猜其他小部件在这两行之后设置了焦点。 再次感谢, 鲍里斯