我遇到了QLineEdit的問題。即使我將Tab鍵順序設置爲從該行編輯開始,一旦加載了屏幕,內部編輯將不會自動獲得焦點。Qt 4.5 Focus在QLineEdit上不起作用
我也試着與此兩條線:
this->activateWindow();
this->lineEdit_password->setFocus();
但是,這仍然沒有效果。 所以也許有人遇到了同樣的問題...
預先感謝您的幫助, 鮑里斯
我遇到了QLineEdit的問題。即使我將Tab鍵順序設置爲從該行編輯開始,一旦加載了屏幕,內部編輯將不會自動獲得焦點。Qt 4.5 Focus在QLineEdit上不起作用
我也試着與此兩條線:
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獲得焦點,我猜想其他小部件在這兩行之後設置了焦點。再次 謝謝, 鮑里斯
作爲初始測試,您可以嘗試覆蓋窗口的showEvent()。在showEvent()中,調用'this-> lineEdit_password-> setFocus();' – Krsna 2009-06-17 16:19:18