2009-06-08 10 views
4

QLineEditで問題が発生しました。この行編集でタブ順序を設定しても、画面がロードされると、自動的に直線編集が行われません。Qt 4.5 QLineEditでフォーカスが機能しない

また、私はこの二行で試してみた:

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

しかし、これはまだ効果はありません。 だから多分、誰かが...あなたの助けを事前に

おかげで同じ問題を経験し、 ボリス

+1

最初のテストとして、ウィンドウのshowEvent()をオーバーライドすることができます。 showEvent()では、 'this-> lineEdit_password-> setFocus();'を呼び出します。 – Krsna

答えて

8

です。 Boris。

2

はshowEventを(オーバーライド、非常に多くのクリシュナをいただき、ありがとうございます)QWidgetのを動作します:

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

lineEditはフォーカスを取得しますが、私は他のウィジェットがフォーカスをこれらの2行の後に設定したと思います。焦点は、アプリケーションは無料で、一度設定されます

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

: おかげで再び、他のソリューションは、SINGLESHOTタイマーを使用する ボリス

関連する問題