关闭文档,若文档未保存,则提示保存。
class MyChild : public QTextEdit{.....}
void MyChild::closeEvent(QCloseEvent *event)
{
if (maybeSave()) {
event->accept();
} else {
event->ignore();
}
}
bool MyChild::maybeSave()
{
if (!document()->isModified())
return true;
QMessageBox::StandardButton ret;
ret = QMessageBox::warning(this, QStringLiteral("Myself Qt Word"), QStringLiteral("文档'%1'已被修改,保存吗?") .arg(userFriendlyCurrentFile()),QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel);
if (ret == QMessageBox::Save)
return save();
else if (ret == QMessageBox::Cancel)
return false;
return true;
}