실수로 삭제 버튼을 누른 경우 사용자에게 경고하기 위해 QMessageBox
을 사용하고 있습니다. 사용자가 QMessageBox
에서 확인 버튼을 누르면 함수가 호출되어 QTableView
(데이터베이스에 연결된 행)을 삭제합니다. 삭제 후에는 QTableView를 새로 고쳐야하고 삭제 된 행이없는 새 데이터가 표시되어야합니다.Qt-creator : QMessageBox가 닫히지 않았습니다
사용자가 Delete button
이되면 QMessageBox
경고가 나타납니다. 그가 Ok를 누르면 행은 QTableView
에서 삭제됩니다. 이 시점에서 나는 QMessageBox
이 사라질 것을 기대하고 있으며, 새롭게 업데이트 된 QTableView
버전은 나타나지 않습니다 !! 대신 QMessageBox
이 다시 나타나고 새로 고침을 수동으로 수행해야합니다 (지금 막 응용 프로그램을 시작한 중입니다). 왜 이런 일이 발생합니까? 이 정말로 C++입니다 ...
QMessageBox msg;
msg.setIcon(QMessageBox::Warning);
msg.setText("Delete");
msg.setInformativeText("continue ?");
msg.setDetailedText("Delete permanently");
msg.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel);
msg.setDefaultButton(QMessageBox::Cancel);
int ret = msg.exec();
if(ret == 1024){
msg.Close;
deleteDataBaseRecord(); // connect to server and delete DB data which is then show the QTableView again
}
else {
msg.Close;
}
1- 거기에 아무 것도 없습니다() 닫기 및 예 C++ 있습니다. 2 - 간단히하기 위해 "Delete"를 붙이지 만 실제 코드에서는 다른 것으로 불려집니다. 3 - 반환 된 int를 변경할 수 없습니다. 이미 OK를 눌렀을 때 int 1024를 얻고 난 것으로 정의되었습니다. 그냥 사용하고 있습니다. – hashDefine