2009-06-08 193 views
4

我遇到了QLineEdit的問題。即使我將Tab鍵順序設置爲從該行編輯開始,一旦加載了屏幕,內部編輯將不會自動獲得焦點。Qt 4.5 Focus在QLineEdit上不起作用

我也試着與此兩條線:

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

但是,這仍然沒有效果。 所以也許有人遇到了同樣的問題...

預先感謝您的幫助, 鮑里斯

+1

作爲初始測試,您可以嘗試覆蓋窗口的showEvent()。在showEvent()中,調用'this-> lineEdit_password-> setFocus();' – Krsna 2009-06-17 16:19:18

回答

8

的其他解決方案是使用一個singleShot定時器:

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

焦點將然後被設置一旦應用程序是免費的。 鮑里斯。

2

非常感謝奎師那,QWidget的的重寫showEvent()將工作:

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

lineEdit獲得焦點,我猜想其他小部件在這兩行之後設置了焦點。再次 謝謝, 鮑里斯

相關問題