求教!为什么会程序点击保存却执行另存为的操作,该如何处理
求教!为什么会程序点击保存却执行另存为的操作
上面代码有问题吗?
PS:实际上这个问题是在另外一台机器上运行时出现的,除了这个问题外还有几个问题。但这些问题在我这台电脑运行没有出现。不解
------解决方案--------------------
那你应该多测试看看。。或者写日志文件看看!!看看这台机器到底怎么回事
- 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:实际上这个问题是在另外一台机器上运行时出现的,除了这个问题外还有几个问题。但这些问题在我这台电脑运行没有出现。不解
------解决方案--------------------
那你应该多测试看看。。或者写日志文件看看!!看看这台机器到底怎么回事