2014-07-25 44 views
1

我覺得我錯過了一些明顯的東西,但我希望能夠錯誤地檢查用戶在點擊「OK」時在模式對話框中輸入的內容,以及允許他們返回並修復它而不關閉對話框。取消Qt中接受的對話框(又名用戶錯誤檢查)

有沒有什麼我可以在'確定'按鈕的槽回調,將告訴對話框不關閉?

回答

3

您可以使用可以知道返回值被拒絕的完成方法。

例如:

void ExDialog::done(int res) 
{ 
    if (res == QDialog::Accepted) 
    { 
    // check if it is ok or not 
    if(not) 
    { 
     ShowErrPopUp(); 
     return; 
    } 
    } 

    QDialog::done(res); 
} 

// when ok button is clicked 
void ExDialog::action_ok_bt_clicked() 
{ 
    this->accept(); 
} 
+0

謝謝,這是回答我問。我也將檢查QValidator作爲替代。 – Balk

+1

我修復了我的代碼。在完成的方法中檢查狀態更適合我的工作。 –