QLineEdit で問題が発生しました。タブオーダーをこの行編集で開始するように設定しても、画面がロードされると、行編集は自動的にフォーカスを取得しません。
私もこの2行で試しました:
this->activateWindow();
this->lineEdit_password->setFocus();
しかし、これはまだ効果がありません。だから、誰かが同じ問題を経験したのかもしれません...
助けてくれてありがとう、ボリス
別の解決策は、singleShot タイマーを使用することです。
QTimer::singleShot(0,lineEdit,SLOT(setFocus()));
アプリケーションが解放されると、フォーカスが設定されます。ボリス。
クリシュナに感謝します。qwidget の showEvent() をオーバーライドすると動作します。
void OScreenLogin::showEvent(QShowEvent* e){
this->activateWindow();
this->lineEdit_password->setFocus();
QWidget::showEvent(e);
}
lineEdit がフォーカスを取得します。他のウィジェットがこれらの 2 行の後にフォーカスを設定したと思います。ありがとう、ボリス