本文整理汇总了C++中QTemporaryFile::error方法的典型用法代码示例。如果您正苦于以下问题:C++ QTemporaryFile::error方法的具体用法?C++ QTemporaryFile::error怎么用?C++ QTemporaryFile::error使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QTemporaryFile
的用法示例。
在下文中一共展示了QTemporaryFile::error方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: cook
void Oven::cook(QString inputContents, QString scriptContents) {
QTemporaryFile file;
QProcess process;
if (file.open()) {
QString filename = file.fileName();
file.write(scriptContents.toUtf8());
if (!file.error()) {
file.close();
process.setProcessChannelMode(QProcess::ForwardedChannels);
process.start("bash", QStringList() << filename);
QTextStream inputStream(&process);
inputStream << inputContents;
inputStream.flush();
process.closeWriteChannel();
if (process.waitForStarted() && process.waitForFinished()) {
// success!
return;
}
}
}
if (file.error() != QTemporaryFile::NoError) {
emit error(file.errorString());
} else {
emit error(process.errorString());
}
// error.
return;
}
示例2: XSLTConvertString
QString ExportHelper::XSLTConvertString(QString input, int xsltmapid, QString &errmsg)
{
if (DEBUG)
qDebug("ExportHelper::XSLTConvertString(%s..., %d, errmsg) entered",
qPrintable(input.left(200)), xsltmapid);
QString returnVal;
XSqlQuery xsltq;
xsltq.prepare("SELECT xsltmap_name, xsltmap_export"
" FROM xsltmap"
" WHERE xsltmap_id=:id;");
xsltq.bindValue(":id", xsltmapid);
xsltq.exec();
if (xsltq.first())
{
/* tempfile handling is messy because windows doesn't handle them as you
might expect.
TODO: find a simpler way
*/
QString xsltmap = xsltq.value("xsltmap_name").toString();
QTemporaryFile *inputfile = new QTemporaryFile(QDir::tempPath()
+ QDir::separator()
+ xsltmap
+ "Input.XXXXXX.xml");
inputfile->setAutoRemove(false);
if (! inputfile->open())
errmsg = tr("Could not open temporary input file (%1).")
.arg(inputfile->error());
else
{
QString inputfileName = inputfile->fileName();
inputfile->write(input.toUtf8());
inputfile->close();
delete inputfile;
inputfile = 0;
QTemporaryFile *outputfile = new QTemporaryFile(QDir::tempPath()
+ QDir::separator()
+ xsltmap
+ "Output.XXXXXX.xml");
outputfile->setAutoRemove(false);
if (! outputfile->open())
errmsg = tr("Could not open temporary output file (%1).")
.arg(outputfile->error());
else
{
QString outputfileName = outputfile->fileName();
if (DEBUG)
qDebug("ExportHelper::XSLTConvertString writing from %s to %s",
qPrintable(inputfileName), qPrintable(outputfileName));
if (XSLTConvertFile(inputfileName, outputfileName,
xsltq.value("xsltmap_export").toString(), errmsg))
returnVal = outputfile->readAll();
outputfile->close();
delete outputfile;
outputfile = 0;
if (errmsg.isEmpty())
{
QFile::remove(outputfileName);
QFile::remove(inputfileName);
}
}
}
}
else if (xsltq.lastError().type() != QSqlError::NoError)
errmsg = xsltq.lastError().text();
else
errmsg = tr("Could not find XSLT mapping with internal id %1.")
.arg(xsltmapid);
if (! errmsg.isEmpty())
qWarning("%s", qPrintable(errmsg));
return returnVal;
}