当前位置: 代码迷 >> QT开发 >> 求教!为什么会程序点击保存却执行另存为的操作,该如何处理
  详细解决方案

求教!为什么会程序点击保存却执行另存为的操作,该如何处理

热度:17   发布时间:2016-04-25 04:43:26.0
求教!为什么会程序点击保存却执行另存为的操作
C/C++ code
//保存void PMap::r_save(){    QSettings settings("zju", "EnergyMap/PositionMap Application");    QString recent_file = settings.value("recentfilePMapStateSave", QString()).toString();    if(m_SavedFile.isEmpty()) {        QString fileName = QFileDialog::getSaveFileName(this, QString(), recent_file, "Data file (*.set);;All (*.*)");        if(fileName.isEmpty())            return ;        m_SavedFile = fileName;    }    settings.setValue("recentfilePMapStateSave", m_SavedFile);    QStringList list1 = m_SavedFile.split("/", QString::SkipEmptyParts);    if(!list1.back().contains(QChar('.')))        m_SavedFile += tr(".set");    QFile file(m_SavedFile);    if(!file.open(QFile::WriteOnly)) {        QMessageBox::warning(this, tr("File export"), tr("Can not open file :\n") + m_SavedFile,            QMessageBox::Ok, QMessageBox::NoButton);        return ;    }    QApplication::setOverrideCursor(Qt::WaitCursor);    file.write((char*)&ctrlRow, sizeof(ctrlRow));    file.write((char*)&ctrlColumn, sizeof(ctrlColumn));    file.write((char*)m_ctrlPointX, ctrlRow * ctrlColumn * sizeof(m_ctrlPointX[0]));    file.write((char*)m_ctrlPointY, ctrlRow * ctrlColumn * sizeof(m_ctrlPointY[0]));    file.close();    QApplication::restoreOverrideCursor();}//另存为void PMap::r_saveAs(){    QSettings settings("zju", "EnergyMap/PositionMap Application");    QString recent_file = settings.value("recentfilePMapStateSave", QString()).toString();    QString fileName = QFileDialog::getSaveFileName(this, QString(), recent_file, "Data file (*.set);;All (*.*)");    if(fileName.isEmpty())        return ;    settings.setValue("recentfilePMapStateSave", fileName);    m_SavedFile = fileName;    r_save();}

上面代码有问题吗?

PS:实际上这个问题是在另外一台机器上运行时出现的,除了这个问题外还有几个问题。但这些问题在我这台电脑运行没有出现。不解

------解决方案--------------------
那你应该多测试看看。。或者写日志文件看看!!看看这台机器到底怎么回事
  相关解决方案