Qt 4.5 Focus не работает на QLineEdit - PullRequest
4 голосов
/ 09 июня 2009

У меня проблема с QLineEdit. Даже если я установлю порядок табуляции, чтобы начать редактирование этой строки, после загрузки экрана Редактор линии не получит фокус автоматически.

Я тоже пробовал с этими двумя строками:

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

Но это все равно не действует. Так что, возможно, кто-то испытал ту же проблему ...

Заранее спасибо за помощь, Борис

Ответы [ 2 ]

8 голосов
/ 18 июня 2009

Другое решение заключается в использовании таймера SingleShot:

QTimer::singleShot(0,lineEdit,SLOT(setFocus()));

Фокус будет установлен после освобождения приложения. Борис.

2 голосов
/ 17 июня 2009

Большое спасибо Кришне, переопределение showEvent () qwidget будет работать:

void OScreenLogin::showEvent(QShowEvent* e){
    this->activateWindow();
    this->lineEdit_password->setFocus();
    QWidget::showEvent(e);
}

lineEdit получает фокус, я думаю, что другой виджет установил фокус после этих двух строк. Еще раз спасибо, Борис

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...